2009-10-27 22 views
3

在.NET Remoting中,Activator.GetObject方法有一個狀態參數。這個狀態 param的目的是什麼?我可以從服務器端檢索它的值嗎?Activator.GetObject - 使用狀態參數

mdsn沒有什麼幫助。

我想做什麼:
客戶端:
ChannelServices.RegisterChannel(new TcpChannel(0));
object obj = Activator.GetObject(typeof(MyObj), "tcp://serverName:1234/RemoteObj", "myCustomData");

服務器端:
獲取訪問的 「myCustomData」 字符串。

回答

2

我不完全確定此狀態字段的用途是什麼,但它似乎是一個通道特定的值,它對您的代碼沒有用處。在Reflector中通過Activator.GetObject追蹤,您會注意到它最終會傳遞到IChannelSender.CreateMessageSink。這些數據的使用是特定於實現的。

如果IChannelSenderCrossAppDomainChannel快速搜索只顯示一個執行者。在這個特定的實現中,僅當狀態參數是特定類型時才使用狀態參數:CrossAppDomainData。這是您的程序無法訪問的內部類,因此無用。

相關問題