我们有一个正在运行的服务,它通过 TCP 连接数百个设备。每次我们想要更新此服务时,我们都需要重新启动它,这会导致所有设备的连接丢失。
为了防止这种情况,我们希望将我们的应用程序分为连接部分和业务逻辑/数据层部分。这将为我们提供在不重新启动连接部分的情况下更新业务逻辑/数据层的选项。这可以通过 WCF 服务来完成,但是系统应该尽可能快地响应,并且引入另一个连接会导致额外的延迟。
是否可以在不重新启动应用程序的情况下更新 dll 文件并向应用程序发出指令,以便它加载新的 dll 并释放旧的 dll?当然,只要层之间的界面不中断。