Можно ли удерживать экземпляры объекта с помощью C # Remoting? - PullRequest
0 голосов
/ 30 ноября 2010

Я новичок в удаленном взаимодействии, я хочу создать приложение в системном трее, которое будет использоваться для выполнения некоторых фоновых задач.У меня есть две другие программы, которым нужен доступ к объектам, измененным приложением в системном трее, и они с ними что-то делают.

Это примерно так:

Приложение для лотка -> загружает все в фоновом режиме

Программа 1 -> Отображает некоторую информацию о «MyObject», созданном в приложении Tray *

Программа 2 -> Утилиты для «MyObject» создан в приложении Tray, котороеподключается к случайному серверу в другом месте и делает что-то,

Но я заблудился от всей концепции удаленного взаимодействия.

Я использую это:

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

Но похоже, что это ссылка на сам класс объекта, а не его экземпляр.

Как я могу обработать объект в приложении и позволить другим приложениям использовать его?Я не хочу использовать базы данных или сериализовать что-либо в другом файле.

1 Ответ

1 голос
/ 25 января 2011

Чтобы зарегистрировать один из существующих экземпляров и опубликовать его в 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)

Это должно сработать.

...