2010-11-30 35 views
0

我是新來的遠程處理,我想做一個系統托盤應用程序,將用於執行一些後臺任務。我有其他2個程序需要訪問由系統托盤應用程序修改的對象,他們做的東西與他們。是否可以通過C#Remoting保存對象實例?

這或多或少是這樣的:

托盤應用程序 - >負載一切都在後臺

計劃1 - >顯示有關 「MyObject來」 的一些信息托盤應用

方案2中實例 - >在「托盤應用程序」中實例化「MyObject」的實用程序,該應用程序連接到其他地方的隨機服務器並執行其他任務,但是我迷失於所有遠程處理概念。

我使用這個:

RemotingConfiguration.RegisterWellKnownServiceType(commonInterfaceType, Constants.ServiceName, WellKnownObjectMode.Singleton);

但好像它的對象類的引用本身,而不是它的一個實例。

如何在應用程序中處理對象並讓其他應用程序使用它?我不想使用數據庫,或者序列化其他文件中的任何內容。

+0

你看過Windows Communication Foundation嗎?您可能希望有一臺服務器提供一組服務方法,以便您可以查詢該對象 - 或直接呈現該對象的方法。 – 2010-11-30 16:45:58

回答

1

要註冊一個現有實例並將其發佈到Remoting上,請執行以下操作。

第一次調用:

RemotingServices.SetObjecturilForMarshal(MarshalByRefObject, uri) 

然後調用以下重載之一:

System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject) 
System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject, String) 
System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject, String, Type) 

這應該工作。

相關問題