Какие настройки по умолчанию используются в .Net Remoting, если вы не укажете службу удаленного взаимодействия в файле конфигурации или не зарегистрируете ее в коде?

Контекст

Я унаследовал приложение .NET Remoting, у которого возникает проблема, связанная с зависанием клиентов при попытке зарегистрировать общие объекты на сервере. Эта регистрация происходит в произвольный период времени после того, как сервер запускается с вызовом «зарегистрироваться» в совместно используемом объекте ILease.

Следуя пути кода, я пытаюсь выяснить, где вызовы RemotingServices.Marshal и RemotingServices.RegisterWellKnownSericeType хранят свою информацию. Мой предыдущий вопрос ' Ответ заставил меня понять, что приложения указывают службу, которая хранит эту информацию, либо в файле конфигурации .exe, либо с помощью вызова RemotingConfiguration.RegisterWellKnownClientType, как подтверждено здесь.

Вопрос

Наше приложение не использует ни файл конфигурации, ни RegisterWellKnownClientType для регистрации службы удаленного взаимодействия, но успешно использует удаленное взаимодействие .NET. Мне не удалось выяснить из справочного кода .NET с открытым исходным кодом или из статей, в которых я просмотрел, какая служба по умолчанию используется для .NET Remoting. Итак, кто-нибудь знает, какие настройки по умолчанию используются для службы .NET Remoting?

Спасибо!


person Marshall Conover    schedule 19.05.2016    source источник


Ответы (1)


Как предложил Энди в комментариях к связанному вопросу, ответ заключается в том, что существует третий вариант регистрации системы связи для среда выполнения .NET Remoting: прямая регистрация TCP-канала объект с удаленными сервисами. Например.:

TcpChannel.TcpChannel ipcChannel = new TcpChannel(...);
System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel( ipcChannel, false );
person Marshall Conover    schedule 01.06.2016