当exe位于网络上时,我的C#.NET应用程序运行得慢得多。
我正在谈论一切,即使图形显示速度较慢。例如:当表单已经加载时,如果我拔下网线并最小化并最大化窗口,则需要很长时间才能重绘(无论是否插入电缆)。
我正在使用框架.NET 3.5 SP1。
有关原因的任何想法?
到目前为止我的假设:
感谢您的帮助!
利奥
答案 0 :(得分:4)
也许是因为CLR需要通过网络来读取任何新的程序集等?
使用一键式安装程序可能会更好运,应用程序安装在本地计算机上,但可以从中央服务器下载更新。
答案 1 :(得分:2)
我很惊讶拔出有所作为。我希望期望从共享中运行一些差异 - 你得到一种不同的安全模式,即不完全信任。完全信任,大多数内部安全都被简单地跳过。没有完全信任,它的工作要困难得多。 “Fusion”(程序集解析和加载)也必须更加努力,但是当重复在该会话中已经完成的操作(即dll加载时)时,这应该不是问题。
您是否考虑过将(仍然是网络共享)部署为ClickOnce(.application
)?然后,这应该自动在本地复制并使用更好的信任模型运行(并且不会对网络性能产生影响)。