문제

I'm new to remoting, I want to make a system tray app which will be used to perform some background tasks. I have other 2 programs which need to access the objects modified by the system tray app, and them do stuff with them.

It's more or less like this:

Tray App -> loads everything in background

Program 1 -> Displays some info about "MyObject" instantiated within Tray App

Program 2 -> Utilities for "MyObject" instantiated within Tray App, which connects to a random server elsewhere and do stuff,

But i'm lost on all the remoting concept.

I'm using this:

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

But it seems like it's a reference to the object class itself, not an instance of it.

How can I process an Object within an application and let other apps use it? I don't want to use databases, or serialize anything in another file.

도움이 되었습니까?

해결책

To register one of your existing instances and publish it on Remoting do as follows.

First call:

RemotingServices.SetObjecturilForMarshal(MarshalByRefObject, uri)

Then call one of the following overloads:

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

That should work.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top