WCF Web服务在Windows Server 2019上返回空白响应,Server 2016运行正常的排查求助
WCF Web服务在Windows Server 2019上返回空白响应,Server 2016运行正常的排查求助
各位大佬好,最近遇到一个棘手的问题,想请大家帮忙分析下:
我们最近把一套网站从Windows Server 2016迁移到了2019,迁移完成后运维团队发现所有aspx页面都显示空白。排查后发现,问题根源是页面调用的Web服务返回了空白内容。
下面是具体的对比情况:
- 访问部署在Server 2016上的同版本
RestServiceImpl.svc,能正常看到服务的引导/欢迎页面;调用GET方法时,也能返回正确的XML响应。 - 但访问Server 2019上的同版本服务时,页面完全空白,查看源码也是空的;调用GET方法时,返回HTTP 200状态码,但响应内容为空。
我们已经做了这些排查工作,但没找到原因:
- 用来追踪Web服务错误的事件日志里,完全没有相关记录
- 我尝试在web.config里添加了TraceListener配置,代码如下:
<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的完全控制权限,但指定目录里并没有生成svclog文件。我怀疑是不是因为返回的是HTTP 200状态,所以不会触发日志记录?
3. 确认了HTTP激活功能已经安装,排除了这个配置缺失的问题
4. 偶然发现,在web.config里添加<trust level="Full" originUrl="" />后,服务在本地能正常响应了。所以我推测问题可能和IO权限或者CAS策略有关,但实在搞不清楚具体是哪个配置项缺失或者配置错误了。
现在我们已经没什么思路了,有没有大佬能给点排查方向或者建议?
备注:内容来源于stack exchange,提问作者Circle Hsiao
相关产品推荐
相关产品推荐

