【发布时间】:2013-03-05 19:15:25
【问题描述】:
我正在寻找在 .NET 中完成的热交换的良好实现。我需要的东西是:
- 能够在特定文件夹中部署 DLL 并让正在运行的系统拾取它们。
- 让正在运行的系统更新容器中的相应引用。
我一直在研究 MEF 及其目录加载机制,但它似乎非常不可靠。也许有人有替代实现?
【问题讨论】:
-
为什么你认为MEF不可靠?你还看了什么?像这样的设计问题在Software Engineering 上可能会做得更好,但您需要提供更多详细信息并展示您所考虑的内容。
-
您希望它有多热插拔?您是否可以在使用旧组件时更换现有组件?
-
您愿意为该功能支付多少性能?跨越 AppDomain 边界并不便宜(这是 .Net 中隔离具有相同标识的 DLL 的唯一方法)... IIS 模型(在更改二进制文件/配置时重置 AppDomain)是否适合您?
-
看看 .NET Framework 的 Shadow Copy 与 MEF 的 DirectoryCatalog 和重组功能的结合。快速原型可以基于此 Q&A stackoverflow.com/q/14808762/850119
-
@DmitriNesteruk 希望你在过去三年里解决了这个问题