我们正在运行使用以下配置文件的远程设置。
<application>
<service>
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.ProjectPartNameSpace.ObjectA, ProjectPartName" objectUri="iObjectA.rem" />
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.AnotherProjectPartNameSpace.ObjectB, AnotherProjectPartName" objectUri="iObjectB.rem" />
<service>
<application>
只要在客户端调用Remoting对象时,Projects实际上包含给定的对象(ObjectA和ObjectB),这样就可以正常工作。
问题
是否有一种简单的方法可以检查远程处理对象是否实际存在于服务器的构建/启动中?
在当前情况下,我们必须等待客户端进行呼叫并在我们看到对象不存在之前失败。
答案 0 :(得分:0)
我找到了一个“可接受的”答案,但我对此并不满意。
将配置更改为以下内容:
<system.runtime.remoting>
<application>
<service>
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.ProjectPartNameSpace.ObjectA, ProjectPartName" objectUri="iObjectA.rem" />
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.AnotherProjectPartNameSpace.ObjectB, AnotherProjectPartName" objectUri="iObjectB.rem" />
<service>
</application>
<debug loadTypes="true"/>
</system.runtime.remoting>
将为引用的项目DLL中不存在的所有对象提供Remoting异常。这将为每个不正确的配置行提供一个例外,但在两者之间,您必须重新启动服务器以获取不再有效的“下一个”远程处理对象。