.NET Remoting (*.rem) 404 错误仅在 IIS 中使用 v4.0

问题描述

我有一个使用 dotnet 远程处理的项目。在我的 PC 上,通过将其添加到 web.config,我能够使用 IIS 提供远程处理。 (在本地效果很好)

<system.runtime.remoting>
 <application>
  <service>
    <wellkNown mode="Singleton" type="MyProject.Business.MainServer,MainServer" 
               objectUri="MainServer.rem" />
  </service>
  <channels>
    <channel ref="http" />
    <serverProviders>
      <formatter ref="SOAP" typeFilterLevel="Full" />
    </serverProviders>
  </channels>
 </application>
</system.runtime.remoting>

但是,当我在我们的开发服务器(Server 2016)上运行它时,它在第一次调用后出现 404 错误。 IIS 日志显示发生了一些奇怪的重定向。我没有设置任何会导致它的东西(不是在配置或代码中)。

例如:当我调用 http://localhost/MyService/MainServer.rem?wsdl 时没有问题/它可以工作(确认 IIS 是正确的)。所有其他调用都转到 http://localhost/MyService/MainServer.rem,它适用于我的 PC。在服务器上,日志显示对该地址的一次命中,而下一行始终显示 http://localhost/MyService/eccfcddf_c37c_492b_a3f5_44b9a5d95023/y52tb8xwxcnvlejrejv++owg_36.rem404 错误(地址随每次调用而变化)。

主要区别在于我的 PC 有 HttpRemotingHandlerFactory-rem-ISAPI-2.0 的“处理程序映射”(映射到 *.rem),但我的服务器(仅)有新的 HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit 的“处理程序映射”(和 64 位)映射到 *.rem。

我不拥有服务器,因此无法获得安装(旧版)v2.0 的许可。

这似乎是 HttpRemotingHandlerFactory v4.0 的一些恼人的内置功能。所以我的问题是:有没有办法关闭或禁用此 URL 重写/重定向功能,使其像 v2.0 一样工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)