1

我们有包含数百个从 ASP.NET 应用程序启动的自定义客户端进程的 DLL。我们的客户在执行数据输入时运行这些进程,通常每个客户只有 1 个进程。在任何一天,我们都可能更新其中的 2 或 3 个流程。

目前,这些都包含在一系列 DLL 中,这意味着我们每天要发布几次我们的应用程序。结果,任何登录的客户端都会被引导出系统,因为发布会导致应用重新启动。

有没有一种方法可以更新这些 DLL 而无需每次都完全发布?

4

4 回答 4

2

如果您的客户端进程具有通用 API,那么您可以在 WCF(或类似)服务中单独托管 DLL,并远程调用客户端进程。所以基本上,考虑转向面向服务的架构。

于 2012-04-17T21:08:06.790 回答
1

您可以切换到 SQL 服务器或状态服务器会话,以便在应用重新启动后保留会话和登录用户。或者将这些 dll 存储在 APP_DATA 中并动态加载。然后当然你必须考虑一些刷新系统并用新上传的刷新加载的dll。

于 2012-04-17T20:59:31.717 回答
1

查看 Microsoft 的托管可扩展性框架 (MEF)。它不仅提供依赖管理,还提供像库加载这样的插件。很可能这正是您正在寻找的。

于 2012-04-17T21:04:31.737 回答
0

没有明智的方法可以避免应用程序重新启动。请注意对“明智”一词的强调。

于 2012-04-17T21:03:51.837 回答