2013-02-16 65 views
0

我有一个对象,我正在实例化到它自己的AppDomain中。主要原因是它调用了我不控制的代码(第三方dll),如果我需要中止线程,我可以做到这一点,然后销毁AppDomain,以确保没有任何不合适的事情发生。这部分工作正常。在第二个AppDomain中运行服务

但是,这个对象也有一个对我所控制的ServiceReference的引用。由于服务引用位于第二个AppDomain中的对象中,因此我得到序列化异常,因为服务未标记为可序列化。服务引用只是由Visual Studio为我生成的代理,我不确定解决此问题的正确方法。

是否有我应该使用的不同设计,还是有一种简单的方法来从单独的AppDomain内部运行服务?

感谢, 斯科特

+0

你能证明你的服务和对象的一些代码示例? – 2013-02-16 22:16:44

+0

我会简化一切并发布一些代码。 – Scott 2013-02-17 00:09:34

回答

0

想通了我的问题。我有我的类型标记为[可序列化],而不是从MarshalByRefObject派生它。一旦我弄明白了,一切似乎都开始正常工作。

但是,现在我使用这个新模型在我的腰带下有几个CPU周期,我对它并不满意,并且正在寻找其他方法。稍后我会发布一个单独的“设计”问题。

感谢,

斯科特

0

如果我理解正确你的问题,你需要使用像.NET远程使用应用程序域之间的对象。

相关问题