WCF Web 服务响应在 Windows Server 2019 上为空白,但同一版本在 Server 2016 上正常运行

WCF Web 服务响应在 Windows Server 2019 上为空白,但同一版本在 Server 2016 上正常运行

我们有一个网站,最近从 Windows Server 2016 迁移到 2019。迁移后,基础设施团队发现所有 aspx 页面都显示为空白,深入研究后,我们发现这是因为它调用的 Web 服务响应为空白。

如果我链接到具有相同版本的 Web 服务的服务器 2016 的 RestServiceImpl.svc。 正确的问候/引导页面

我将按预期看到问候/指导页面。
但是,如果我链接到 2019 服务器上的相同版本主机。它将全部空白。 空白页

当检查源代码时,它也是空的。
源代码查看为空

如果我调用 get 方法,服务器 2016 将响应我正确的 xml,但 2019 将响应空的 http 200。 http 200 但 0 数据

我们用来跟踪 Web 服务错误的事件日志没有记录任何内容。我将 TraceListener 添加到 web.config,但它没有将任何 svclog 写入目录

<configuration>
   <system.diagnostics>
      <sources>
            <source name="System.ServiceModel" switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener"
                   initializeData= "c:\log\Traces.svclog" />
            </listeners>
         </source>
      </sources>
   </system.diagnostics>
</configuration>

我已经将应用程序池标识的完全控制权限添加到c:\log\Traces.svclog 不知道当它达到 200 时是否不会生成任何日志?

我们还检查是否是因为 http 激活功能尚未安装但已安装。 已安装 http 激活功能

我们这里没有主意了,欢迎任何建议。

如果我添加,<trust level="Full" originUrl="" /> 那么 Web 服务可以在本地正确响应,所以我认为这与 IO 权限或 CAS 策略有关。但不确定具体缺少什么或配置错误。

答案1

我发现这是因为新服务器上的 .NET 信任级别较低。
在 IIS 管理器 > 连接 > YourServer > .NET 信任级别中,将信任级别更改为完全(与旧服务器的级别一致)解决了该问题。 在此处输入图片描述

相关内容