【发布时间】:2014-09-16 13:33:46
【问题描述】:
这不是编码问题 - 而是理解问题。
我需要将第 3 方 DLL 加载到我的进程中,但是在一个新的应用程序域中(因为我必须能够在以后卸载它)。
我在网上看到的大多数示例都使用 MarshalByRefObject,但据我了解,Remoting 已死。
所以我认为流程应该是这样的:
- 从 AppDomain 1 - 获取 DLL 路径
- 从 AppDomain 1 - 将 dll 加载到新的应用程序域
- 这是在 AppDomain 2 上 - 在加载程序集的入口类上,我将放置某些属性,然后通过反射(两个程序集之间必须通用的反射类)我将定位该类并实例化一个实例,在构造函数我将在特定地址打开 WCF 服务并监听请求。
- 从 AppDomain 1- 此时,我将在同一地址上创建 WCF 客户端并调用 AppDomain - 2 类的函数。
这种情况有效吗?还是我应该使用http://msdn.microsoft.com/en-us/library/3c4f1xde(v=vs.100).aspx 之类的示例
谢谢!
【问题讨论】:
-
这个链接对我很有帮助:brad-smith.info/blog/archives/500
标签: c# .net wcf .net-assembly remoting