当exe位于网络上时,我的C#.NET应用程序运行速度较慢

时间:2010-03-31 16:37:08

标签: c# .net networking performance

当exe位于网络上时,我的C#.NET应用程序运行得慢得多。

我正在谈论一切,即使图形显示速度较慢。例如:当表单已经加载时,如果我拔下网线并最小化并最大化窗口,则需要很长时间才能重绘(无论是否插入电缆)。

我正在使用框架.NET 3.5 SP1。

有关原因的任何想法?

到目前为止我的假设:

  • 我在构建应用时错过了一些选项?
  • 我的公司防病毒检查更多东西,因为exe在网络上
  • 当exe在网络上时,Windows XP SP3的缓存不会以相同的方式工作
  • 服务器是Novell服务器:也许这会改变什么?

感谢您的帮助!

利奥

2 个答案:

答案 0 :(得分:4)

也许是因为CLR需要通过网络来读取任何新的程序集等?

使用一键式安装程序可能会更好运,应用程序安装在本地计算机上,但可以从中央服务器下载更新。

答案 1 :(得分:2)

我很惊讶拔出有所作为。我希望期望从共享中运行一些差异 - 你得到一种不同的安全模式,即不完全信任。完全信任,大多数内部安全都被简单地跳过。没有完全信任,它的工作要困难得多。 “Fusion”(程序集解析和加载)也必须更加努力,但是当重复在该会话中已经完成的操作(即dll加载时)时,这应该不是问题。

您是否考虑过将(仍然是网络共享)部署为ClickOnce(.application)?然后,这应该自动在本地复制并使用更好的信任模型运行(并且不会对网络性能产生影响)。