ASP.NET在global.asax中将文件保存到文件中

问题描述:

我在生产系统中有一个有问题的错误,我根本无法找到它。有时系统会产生无效的链接。当最终用户点击它时,系统会收到错误报告,最终用户会收到错误消息。失败的网址是这样的:ASP.NET在global.asax中将文件保存到文件中

http://www.mysite.com/somepath/undefined/ 

“未定义”的部分是问题,我认为这是由JavaScript生成的,但我想,以确保它不是从后端。

如果使用global.asax包含字符串“/ undefined /”,有没有办法保存每个文件的响应?

我已经试过这样:

protected void Application_EndRequest(object sender, EventArgs e) 
    {   
     TextReader t = new StreamReader(Response.OutputStream); 
     string content = t.ReadToEnd(); 
     // look for "/undefined/" and save to a temp file is the easy part after this 
    } 

但是被说的OutputStream不可读。

我不确定哪个page/ajax请求会产生错误的链接,所以我需要检查每个响应。

您无法读取响应流,但可以将响应过滤器添加到输出流并获取它的副本。

有几个相关artiles在此:

在 SO
  • Capturing and Transforming ASP.NET Output with Response.Filter里克施特拉尔

    希望,这会帮助你。

  • +0

    谢谢,请立即尝试:) – 2013-03-01 11:18:10

    任务检查IIS日志文件。我跟踪所有请求与网址

    +1

    感谢您的回复。但我不明白这将如何帮助。 IIS日志只告诉我哪些URL已被请求。不是产生错误URL的原因。 – 2013-03-01 11:10:35

    +1

    如果您发现它在客户端生成的日志中未定义... – 2013-03-01 11:31:17