我有一个对象,我正在实例化到自己的AppDomain中。这样做的主要原因是它调用了我无法控制的代码(第三方dll),如果我需要中止线程,我可以做到然后销毁AppDomain只是为了确保没有任何不可思议的事情发生。这部分工作正常。
但是,此对象还引用了我控制的ServiceReference。由于服务引用位于第二个AppDomain中的对象中,因此我收到序列化异常,因为Service未标记为Serializable。服务引用只是Visual Studio为我生成的代理,我不确定解决此问题的正确方法。
我应该使用不同的设计,还是有一种简单的方法可以从单独的AppDomain中运行服务?
谢谢, 斯科特
答案 0 :(得分:0)
如果我理解你的问题,你需要使用.Net Remoting之类的东西在appdomains之间使用对象。
答案 1 :(得分:0)
弄清楚我的问题。我将Type标记为[Serializable],而不是从MarshalByRefObject派生。一旦我弄明白了,一切似乎都开始正常。
然而,现在我使用这个新型号有一些CPU周期,我对此并不满意,并且正在寻找另一种方式。我稍后会发布一个单独的“设计”问题。
谢谢,
斯科特