Какой самый простой способ подключения к объекту удаленного сервера .NET?
-
09-06-2019 - |
Вопрос
Учитывая, что мой клиентский код знает все необходимое об удаленном объекте, какой самый простой способ подключиться к нему?
Вот что я делаю в данный момент:
ChannelServices.RegisterChannel(new HttpChannel(), false);
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(IRemoteServer), "RemoteServer.rem", WellKnownObjectMode.Singleton);
MyServerObject = (IRemoteServer)Activator.GetObject(
typeof(IRemoteServer),
String.Format("tcp://{0}:{1}/RemoteServer.rem", server, port));
Решение
Первые две строки находятся в серверном коде и предназначены для маршалинга серверного объекта, да?
В этом случае да, третья строка — самая простая, которую вы можете получить на стороне клиента.
Кроме того, вы можете обслуживать дополнительные серверные объекты из МойСерверОбъект например, если вы включите для них общедоступные средства доступа в IRemoteServer интерфейс, поэтому доступ к этим объектам становится простым вызовом методов или доступом к свойствам вашего основного объекта сервера, поэтому вам не нужно использовать активатор для каждой отдельной вещи:
//obtain another marshalbyref object of the type ISessionManager:
ISessionManager = MyServerObject.GetSessionManager();
Другие советы
ВКФ.
Я использовал IPC до того, как появилась WCF, и поверьте мне, IPC — это медведь.И это не документировано полностью/правильно.
Какой самый простой способ подключения к объекту удаленного сервера .NET?ВКФ.