【发布时间】:2011-03-13 21:12:46
【问题描述】:
我们有一个企业 ASP.NET/VB.NET 应用程序,它有多个客户端在产品代码的不同版本(网站)上运行。
我正在尝试创建一个在我们的服务器上运行的 Windows 服务来执行长时间运行的任务。该服务需要为每个客户端运行正确版本的代码,我最初考虑调用将作为 Web 版本的一部分部署的 WCF 服务。
问题是我们的 IIS 池每晚都会回收,这会导致作业中止。超过 24 小时的工作永远不会有机会完成。
我们的服务器正在运行 Windows Server 2003、IIS 6.0、.NET Framework 3.5、SQL Server 2005。
有没有办法动态加载程序集以使用而无需重新启动服务?
编辑:我最终使用了step by step example中详细介绍的 System.AddIn
【问题讨论】:
-
您的问题找到解决方案了吗?
-
我决定使用 System.AddIn 框架类,因为它可以巧妙地处理使用同一程序集的不同版本。我在创建 AppDomain 并尝试将程序集及其依赖项加载到正确的上下文中时遇到了麻烦。
-
太好了,我需要调查一下。我不知道它在那里。 =)
标签: .net asp.net windows-services