Mono:Uri上的.NET远程处理已在使用中

本文关键字:处理 Uri 上的 NET 程处理 Mono | 更新日期: 2023-09-27 18:09:28

运行:

  • Ubuntu 10.04,32位
  • Mono 2.6.7

我有一个在VS2008中开发的应用程序,它使用.NET远程处理(带有自定义远程UDPChannel类(。我们现在正试图在linux上运行它(在MonoDevelop中构建(,但我收到了以下错误。

导致异常的代码:

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

例外:

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

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

对这个问题有什么想法吗?谢谢

Mono:Uri上的.NET远程处理已在使用中

我们解决此问题的方法:

从我们的远程处理配置文件中删除一个标记,该标记导致在两个上都添加远程处理对象

RemotingConfiguration.Configure(configurationFile, false);

RemotingServices.Marshal(this, objectUri);

删除的标签是:

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

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