我一直在阅读很多关于System.AddIn(a.k.a. Managed Add-in Framework)的内容。它允许您以不同的隔离模式激活加载项,包括单独的AppDomain或单独的进程。
我发现的大多数文章暗示过程隔离可用于实现应用程序可靠性,其中加载项可能会因未处理的异常而崩溃,但应用程序不会崩溃并且可以卸载有问题的添加-in并继续前进。
我还没有找到一篇文章,其中确实说明了如何做到这一点。我一直试图通过试验和错误来解决,但到目前为止,我尝试过的所有内容,如果加载项抛出未处理的异常,主机应用程序崩溃。我让每个加载项都在自己的进程中运行,但似乎有更多我不理解的难题。
是否可以使用System.AddIn创建一个可以在其中一个加载项中处理未处理异常的主机?是否有代码示例或文章在某处拼写出来?如果System.AddIn无法做到这一点,是否有另一种架构可以在.NET应用程序中实现这一点?