单片机上的.NET Remoting:Uri已经在使用中

时间:2011-09-22 15:22:00

标签: c# .net mono .net-remoting

运行:

  • Ubuntu 10.04,32位
  • Mono 2.6.7

我在VS 2008中开发了一个使用.NET远程处理(使用自定义RemotingUDPChannel类)的应用程序。我们现在尝试在linux上运行(在MonoDevelop中构建),但是我收到了以下错误。

引起异常的代码:

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

例外:

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

如果我们运行多个远程处理应用程序,我们在Window窗口运行时收到此错误,但是通过为每个应用程序创建一个新的appdomain来修复它。但是,这似乎并没有影响它在linux方面。此外,我们不会尝试运行多个远程应用程序,只需单个应用程序。

关于这个问题的任何想法?谢谢!

1 个答案:

答案 0 :(得分:3)

我们解决此问题的方法:

从我们的远程处理配置文件中删除一个标记,该标记会导致在两个

添加远程处理对象
RemotingConfiguration.Configure(configurationFile, false);

RemotingServices.Marshal(this, objectUri);

删除的标签是:

<service>

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

</service>

这只需要从服务器端完成。