小编Igb*_*man的帖子

实现可脱机工作的桌面.NET应用程序.

我需要在.NET中创建一个桌面WPF应用程序.

应用程序与Web服务器通信,并且在Web服务器不可用时可以在脱机模式下工作.

例如,应用程序需要计算用户在项目上工作的时间.应用程序连接到服务器并获取项目列表,用户选择一个项目,然后按下按钮以启动计时器.用户可以稍后停止计时器.项目启动和停止时间需要发送到服务器.

如何在应用程序处于脱机模式时实现此功能?

是否有一些现有的解决方案或一些库来简化此任务?

提前致谢.

.net c# wpf offline

4
推荐指数
1
解决办法
4914
查看次数

什么是输出安全或输入安全类型?

我第一次遇到这些术语:输出安全,输入安全,输出不安全和输入不安全的C#语言规范的方差安全部分.我熟悉方差的概念(协方差和逆变),它基本上是指用一种类型代替另一种类型.

那么输出或输入安全的真正含义是什么?我们是在讨论泛型类型中的类型参数还是任何类型(引用或值)?

c# variance

4
推荐指数
1
解决办法
705
查看次数

为什么要为枚举声明数值?

我经常看到Simple(非Flags)枚举声明如下:

enum Something
{
    Thingy = 1,
    Thangamijig = 2,
    Whatsit = 3
}
Run Code Online (Sandbox Code Playgroud)

为什么要包含可选的数值?这被认为是最佳做法吗?

枚举设计MSDN指南似乎没有解释这样做的原因.

一个潜在的答案刚刚发生在我身上:是否要确保包含枚举实例的先前序列化对象不会变为无效或者如果要修改枚举(例如重新排序值或插入新值),其含义会发生变化?

这看起来似乎有道理.还有其他原因吗?

.net enums

3
推荐指数
1
解决办法
234
查看次数

是否可以等待未知任务完成?

使用.NET任务并行库,是否有一种内置的方式来等待所有正在运行的任务完成,而实际上没有对任务的引用?

Task.WaitAny()并且Task.WaitAll()都需要一组Task实例.我喜欢的是Task.WaitAll()没有参数的东西,只等待我的应用程序生成的任何和所有任务完成.

如果没有,我会在我的框架中构建一些东西,但如果我能帮助它,我不想重新发明轮子.

.net multithreading task-parallel-library

3
推荐指数
1
解决办法
763
查看次数

在Winforms自定义UserControl上启用设计图面

我尝试在C#中创建一个自定义用户控件来处理添加到其中的其他控件.自定义控件由两个面板组成.我想要实现的是,如果在设计模式下将另一个控件拖动到我的用户控件(或在运行时以编程方式添加),我希望将该控件放在其中一个面板上.

我试图处理OnControlAdded事件但是没有做到这一点......

.net c# user-controls custom-controls winforms

2
推荐指数
1
解决办法
3661
查看次数

为什么DataGridView采用Windows窗体的字体?

当我设置Form的Font时,DataGridView采用相同的字体.

为什么DataGridView采用表单的字体?

c# datagridview winforms

2
推荐指数
1
解决办法
2026
查看次数

对接口对象列表进行排序

我有几个实现接口的类,IFoo.我需要在表中显示这些类的对象列表,我希望能够按表中的任意列进行排序.因此,表的数据源是a List<IFoo>.

我遇到的问题是实现的标准方法IComparableIComparer列表中使用的对象需要静态方法,但接口中不允许使用静态方法.所以,问题归结为:一个人怎么样List<IFoo>

.net c# sorting icomparable

2
推荐指数
1
解决办法
4338
查看次数

如何进一步优化此代码?

看下面的代码:

StringBuilder row = TemplateManager.GetRow("xyz"); // no control over this method 
StringBuilder rows = new StringBuilder();

foreach(Record r in records)
{
    StringBuilder thisRow = new StringBuilder(row.ToString());
    thisRow.Replace("%firstName%", r.FirstName)
       .Replace("%lastName%", r.LastName)
          // all other replacement goes here
       .Replace("%LastModifiedDate%", r.LastModifiedDate);

    //finally append row to rows
    rows.Append(thisRow);
}
Run Code Online (Sandbox Code Playgroud)

目前有3个StringBuilders和row.ToString()在循环内.这里有进一步优化的空间吗?

c# optimization

1
推荐指数
3
解决办法
378
查看次数

如何让我的1MB主页加载速度更快?

我的主页是1MB.对于使用56k调制解调器的用户来说,这是巨大的.500k的我的主页网站也使用了jquery.

我该怎么做才能加快页面加载速度?我可以缓存我使用的ISP,这会有用吗?

编辑

如何在asp.net中使用gzip?

哪种类型的缓存对网页有用?

asp.net asp.net-mvc caching gzip page-load-time

0
推荐指数
1
解决办法
710
查看次数