.NET Remoting на Mono: Uri уже используется - PullRequest
1 голос
/ 22 сентября 2011

Продолжительность:

  • Ubuntu 10.04, 32-разрядная
  • Моно 2.6.7

У меня есть приложение, разработанное в VS 2008, которое использует удаленное взаимодействие .NET (с пользовательским классом RemotingUDPChannel). Мы пытаемся запустить это на Linux (сборка в MonoDevelop), но я получаю следующую ошибку.

Код, вызывающий исключение:

this.server = RemotingServices.Marshal(this, objectUri);

Исключение:

System.Runtime.Remoting.RemotingException: Uri already in use:

Мы получили эту ошибку в прошлом при запуске на стороне окна, если у нас было запущено несколько удаленных приложений, но мы исправили ее, создав новый домен приложения для каждого. Тем не менее, это не влияет на Linux. Кроме того, мы не пытаемся запустить несколько удаленных приложений, только одно.

Есть идеи по этой проблеме? Спасибо!

1 Ответ

3 голосов
/ 26 октября 2011

Наш обходной путь к этой проблеме:

Удалите тег из нашего конфигурационного файла удаленного взаимодействия, который приводит к добавлению удаленного объекта на оба

RemotingConfiguration.Configure(configurationFile, false);

и

RemotingServices.Marshal(this, objectUri);

Удален тег:

<service>

   <wellknown mode="Singleton" objectUri="FileSyncer.rem" type="MyLib.FileSyncerServer, MyLib" />

</service>

Это нужно было сделать только со стороны сервера.

...