我正在为我正在编写的程序开发一个外接程序系统,并且遇到了主机和外接程序应该如何在公共基础上进行通信的问题。我用的是 System.AddIn 用于发现、隔离和激活外接程序的命名空间(以前称为MAF)。
System.AddIn
既然我想(需要?)外接程序存在于独立的AppDe域与主机之间,存在类型不能在AppDe域之间共享,因此不能在宿主和外接程序之间共享的问题。我知道在AppDomains之间有一些内置的类型封送处理支持,但对此一无所知,也不知道它是否合适。
所以问题是,如果我想在两个独立的应用程序域中在外接程序和主机之间共享同一个对象(实例),我该怎么办?也许有更微妙的方法来解决这个问题?
所以看起来 MarshalByRefObject AppDomain对象上的一些函数为我想要的东西提供了基础。我想案子现在已经结案了。
MarshalByRefObject