诊断WebResource.axd请求为空的原因

时间:2010-07-19 05:42:44

标签: webresource.axd

我发现对于一个特定的Web应用程序,对WebResource.axd的请求正在返回一个完全空的页面。 (将链接复制并粘贴到新的浏览器窗口会产生完整的空响应文档)

IIS日志显示对WebResource.axd的请求成功(HTTP状态代码200)

应用程序本身很复杂,因此应用程序正在做的事情似乎正在造成这种情况,但我不知道是什么。

我可以采取哪些额外的调试步骤来弄清楚这些请求失败的原因,以及我应该在哪里查找应用程序特定行为可能以这种方式影响WebResource.axd的位置?

到目前为止我尝试过的事情:

  • 在IIS中创建指向同一目录的新虚拟目录会产生相同的结果(空WebResource.axd文档)
  • 创建一个全新的独立空白页并将其放在此目录中会产生相同的结果。
  • 如果我在IIS中创建一个指向不同文件夹的新虚拟目录,则空白页面将按预期工作。
  • 在working / broken目录之间交换web.config文件似乎没有任何影响。

这是在运行IIS 5.1的Windows XP计算机上

3 个答案:

答案 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但响应为空的问题。