从网络驱动器启动的 c# .net4 应用程序需要很长时间才能加载

标签 c# .net networking splash-screen drive

让我更好地解释一下我的情况。我想从网络驱动器启动 .exe。我注意到,如果您在 Win XP 任务管理器中 checkin ,带有 1 个组件(进度条)的小型 .net 4 表单会占用大约 20mb 的内存。因此,一旦加载启动画面,它就会在任务栏中占用大约 20mb 的内存。

因此,如果 .exe 从网络驱动器启动,则客户端计算机必须等到将整个表单加载到内存中,然后它才会显示。这大约需要 2-3 分钟。所以它必须等待 20mb 加载。从网络驱动器启动 .exe 时立即显示启动画面的最佳方法是什么?与其等待 20MB 完全下载,不如在只有不到 1mb 的内容下载到客户端内存时显示启动画面?您能否提供有关如何执行此操作的建议?

我已经通过查看客户端计算机上的任务管理器来检查这一点,直到 .exe 达到大约 20 MB,然后显示启动窗体。然后它会等到 .exe 达到大约 40MB 时显示主窗体。我希望在从网络驱动器启动 exe 后不到两秒内显示启动画面,以便用户知道 exe 将在大约 2-3 分钟内完成加载。那么如何实现呢?

顺便说一句,加载需要很长时间,因为客户端机器不在现场,并且有一个 VPN 将机器连接到中央文件服务器。这就是加载需要一段时间的原因,因为上传链接最多为 1Mb。但是一旦 .exe 完成加载,就不会变慢。最好的方法是拥有终端服务或 citrix。但这目前不是一个选择。或者在客户端机器上安装每个 .exe,但我不想走那条路。

最佳答案

查看 ClickOnce 部署。潜在地,它将允许您保留单个网络副本以便于部署,但将避免客户端下载应用程序,除非它已被更新。

http://msdn.microsoft.com/en-us/library/t71a733d

关于从网络驱动器启动的 c# .net4 应用程序需要很长时间才能加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5188741/

相关文章:

c# - 在 Windows Phone Mango 中启用 WCF 调用

c# - 条件运算符使用错误

C#:将字符串转换为对象引用

c# - 如何将 Windows 身份验证 header 添加到 HttpClient 请求 C#

node.js - 使用 NodeJS 的路由器(代理)?

c# - 查找格式正确的括号的所有组合

.net - StreamWriter 不会刷新到 NetworkStream

.net - F# 和鸭式打字

networking - 在 omnetpp 中找不到类 "simpleModule"

具有多个接口(interface)的系统上的 Ruby 套接字绑定(bind)