2013-02-16 53 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遠程使用應用程序域之間的對象。

相關問題