Kev*_*ald 6 .net iis wcf json aspnet-regiis.exe
我在Windows Server 2008 R2上运行ASP.Net应用程序.我已经安装了.NET Framework 4.5.从.NET Framework v2.0迁移到v4.0后,我开始体验WCF的随机行为.
我的Web服务返回JSON.重新启动IIS后,该服务将返回完全有效的JSON约3至5次.之后,JSON变为无效.我已经通过Fiddler和我自己的客户端应用程序(一个调用该服务的Adobe AIR应用程序)和服务器本身检查了传输内容.
Fiddler表明原始响应确实包含无效的JSON.似乎JSON中的一些随机点响应JSON开始再次被写出来!,覆盖应该存在的内容并在此过程中产生损坏的JSON.
看到这个连接的例子:
{"responseCode":0,"actionCode":"OK","cdn{"responseCode":0, "actionCode".....
Run Code Online (Sandbox Code Playgroud)
请注意"responseCode"(应该只出现在JSON响应的开头)会突然再次出现在JSON中."cdn{"responseCode":0当然是无效的JSON.
我尝试了很多补丁.我试着运行ServiceModelReg.exe并aspnet_regiis.exe从在不同的框架和不同的组合.相同的行为.如果我恢复到v2.0下的先前代码并将App Pool切换回v2.0,那么一切正常.
我相信这是WCF深处的一个错误.有任何想法吗?
我现在唯一的办法就是撕掉WCF并切换到类似ServiceStack的东西,我可以在必要时调试所有代码.
有完全相同的问题。我通过从 web.config 中删除这两个条目来修复此问题:
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logMessagesAtTransportLevel="true" maxSizeOfMessageToLog="-1" maxMessagesToLog="-1" />
</diagnostics>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
和
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="messages" type="MyCustomListener" />
</listeners>
</source>
</sources>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |