我對通過遠程處理公開的單例類有點問題。在我的服務器我有:在.Net Remoting中使用單身人員
TcpChannel channel = new TcpChannel(Settings.Default.RemotingPort);
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(RemotableObject), "RemotableObject",
WellKnownObjectMode.Singleton);
RemotableObject是一個單獨的對象繼承MarshalByRefObject的。
我的客戶端通過連接到它:
remoteObject = (RemotableObject)Activator.GetObject(
typeof(RemotableObject),
string.Format("tcp://{0}:{1}/RemotableObject", serverIP, serverPort));
一切都很正常至於遠程去,但是當我訪問singleton對象在我的服務器這樣的代碼:
int someValue = RemotableObject.Instance.SomeDynamicValue;
它訪問與客戶端不同的實例。我還驗證了在調試時,RemotableObject中的私有構造函數會被擊中兩次。
如果我通過遠程處理在服務器代碼中獲取實例給RemotableObject,但是有沒有一種方法可以從服務器訪問與我的客戶端相同的對象而不需要遠程處理開銷?
完美的工作!感謝您及時的回覆! – Todd 2009-04-09 20:50:06