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方面。此外,我们并没有尝试运行多个远程处理应用程序,只是运行一个。
对这个问题有什么想法吗?谢谢
我们解决此问题的方法:
从我们的远程处理配置文件中删除一个标记,该标记导致在两个上都添加远程处理对象
RemotingConfiguration.Configure(configurationFile, false);
和
RemotingServices.Marshal(this, objectUri);
删除的标签是:
<service>
<wellknown mode="Singleton" objectUri="FileSyncer.rem" type="MyLib.FileSyncerServer, MyLib" />
</service>
这只需要从服务器端完成。