【发布时间】:2010-12-20 12:47:12
【问题描述】:
我正在摆弄一个 CLR 托管在 C 应用程序中的项目。是否有受支持的方式来取消 CLR 的链接并重新启动它?
【问题讨论】:
-
为什么要重新加载?在 IIS 模型中,重新加载/回收的单元是工作进程本身。我不知道 SQLCLR,但我怀疑那里有更有趣的东西。
标签: .net clr clr-hosting
我正在摆弄一个 CLR 托管在 C 应用程序中的项目。是否有受支持的方式来取消 CLR 的链接并重新启动它?
【问题讨论】:
标签: .net clr clr-hosting
您可以在创建的AppDomain 中加载和托管所有信息,而不是尝试重新加载 CLR。
然后您可以管理 AppDomain 的生命周期,包括卸载整个 AppDomain 并加载一个新的。
这将提供重新加载 CLR 将提供的大部分好处,而无需实际尝试卸载 CLR。
【讨论】:
我现在没有这本书,但我相信(根据Customization the Common Language Runtime)这是不可能的。您可以卸载,即“禁用”它,但您不能在同一个流程实例中重新加载它。
【讨论】: