运行:
我在VS 2008中开发了一个使用.NET远程处理(使用自定义RemotingUDPChannel类)的应用程序。我们现在尝试在linux上运行(在MonoDevelop中构建),但是我收到了以下错误。
引起异常的代码:
this.server = RemotingServices.Marshal(this, objectUri);
例外:
System.Runtime.Remoting.RemotingException: Uri already in use:
如果我们运行多个远程处理应用程序,我们在Window窗口运行时收到此错误,但是通过为每个应用程序创建一个新的appdomain来修复它。但是,这似乎并没有影响它在linux方面。此外,我们不会尝试运行多个远程应用程序,只需单个应用程序。
关于这个问题的任何想法?谢谢!
答案 0 :(得分:3)
我们解决此问题的方法:
从我们的远程处理配置文件中删除一个标记,该标记会导致在两个
添加远程处理对象RemotingConfiguration.Configure(configurationFile, false);
和
RemotingServices.Marshal(this, objectUri);
删除的标签是:
<service>
<wellknown mode="Singleton" objectUri="FileSyncer.rem" type="MyLib.FileSyncerServer, MyLib" />
</service>
这只需要从服务器端完成。