2013-05-25 23 views
1

我需要將一個實例傳遞給(而不是)AppDomain。我已經看到了很多有關如何做相反的事情(調用在一個域上創建並在本地使用對象),但我想要的是傳遞我已有的實例(不是我從域對象創建的實例),這個實例是一個MarshalByRefObject,我想將它傳遞給我的主域中的另一個域。 這可能嗎?如何將實例傳遞給另一個appdomain?

var MyObject = GetAlreadyPopulatedObject(); 
    AnotherDomain.MakeObjectVisible(MyObject); // this is what i'm trying to do, make the instance i have available somewhere else 
    // And if it's possible, how would i access it from the other Domain? How can i find it? 

的情況我已經是我管,我創建的數據,我想通過它操縱一個插件在另一個應用程序域,然後檢索修改後的版本,我有點在失利。

+0

MBRO的要點是,其他應用程序域中的代碼使用代理而不是真實對象。如果這不是你想要的,那麼你不應該使用MBRO,而是使它成爲[Serializable]。 –

+0

我的項目也可以序列化,但我找不到如何跨域傳遞它們,我發現SetData和GetData之間,但我希望有一個更豐富的方式來處理 –

回答

0

最後我發現了一個替代方法(domain.SetData/domain.GetData)來跨域傳遞對象,我不確定它是否是最乾淨/最簡單/最快/推薦等等,以便不要標記自己作爲答案,除非我在一段時間後看不到其他答案。

相關問題