我发现对于一个特定的Web应用程序,对WebResource.axd的请求正在返回一个完全空的页面。 (将链接复制并粘贴到新的浏览器窗口会产生完整的空响应文档)
IIS日志显示对WebResource.axd的请求成功(HTTP状态代码200)
应用程序本身很复杂,因此应用程序正在做的事情似乎正在造成这种情况,但我不知道是什么。
我可以采取哪些额外的调试步骤来弄清楚这些请求失败的原因,以及我应该在哪里查找应用程序特定行为可能以这种方式影响WebResource.axd的位置?
到目前为止我尝试过的事情:
这是在运行IIS 5.1的Windows XP计算机上
答案 0 :(得分:4)
事实证明问题是我在Global.asax的Application_PreRequestHandlerExecute
方法中应用的HttpResponse过滤器。我一般将过滤器应用于所有请求 - 即使过滤器为WebResouce.axd保留了内容不变,这仍然会导致问题。
以下链接帮助我更详细地描述了这一点:
解决方案是跳过为WebResouce.axd应用过滤器。
答案 1 :(得分:2)
如果您碰巧使用Visual Studio 2013 Preview,这是一个已知问题: https://connect.microsoft.com/VisualStudio/feedback/details/792689/webresource-axd-returns-a-200-ok-empty-response
(显然这不适用于OP,但适用于来自谷歌的任何人)
答案 2 :(得分:0)
我没有使用Application_PreRequestHandlerExecute,而是在Application_BeginRequest中添加了OutputFilterStream。这导致WebResource.axd响应返回状态代码为200但响应为空的问题。