【问题标题】:Remoting post-build script to check if remoting object are actually build远程构建后脚本以检查远程对象是否实际构建
【发布时间】:2023-10-19 06:37:01
【问题描述】:

我们正在使用使用以下配置文件的远程设置运行。

 <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 对象时项目实际上包含给定的对象(ObjectA 和 ObjectB),就可以正常工作。

问题

有没有一种简单的方法来检查远程对象是否真的存在于服务器的构建/启动中?

在当前情况下,我们必须等待客户端发出调用并失败,然后才能看到对象不存在。

【问题讨论】:

  • 我希望有一个构建时间解决方案,但也欢迎任何其他解决方案(非后期构建)。我有一套测试脚本,所以一个简单的测试脚本就可以了。

标签: .net remoting .net-remoting


【解决方案1】:

我找到了一个“可以接受”的答案,但我对此并不满意。

将配置更改为以下内容:

<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 中的所有对象提供远程处理异常。这将为每个不正确的配置行提供一个例外,但在这之间,您必须重新启动服务器以获取不再工作的“下一个”远程处理对象。

【讨论】:

  • 在我们的情况下,我们遇到了一个额外的问题,即无论我们是否使用该类,一个小代码生成工具都会在配置文件中创建 .rem 链接。所以我们不能使用 'trick'
最近更新 更多