【问题标题】:ASP.NET save respose to file in global.asaxASP.NET 将响应保存到 global.asax 中的文件
【发布时间】:2013-03-01 10:29:37
【问题描述】:

我在生产系统中有一个问题错误,我根本找不到。有时系统会产生无效链接。当最终用户单击它时,我会从系统收到错误报告,最终用户会收到错误消息。失败的 URL 是这样的:

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

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

如果文件包含字符串“/undefined/”,是否可以使用 global.asax 将每个响应保存到文件中?

我试过这个:

    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 是不可读的。

我不确定是哪个页面/ajax 请求产生了错误链接,所以我需要检查每个响应。

【问题讨论】:

    标签: c# asp.net save global-asax outputstream


    【解决方案1】:

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

    这方面有几篇相关文章:

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      只需检查 IIS 日志文件。我用 url 跟踪所有请求

      【讨论】:

      • 感谢您的回复。但我不明白这会有什么帮助。 IIS 日志只告诉我请求了哪些 URL。不是产生错误 URL 的原因。
      猜你喜欢
      • 1970-01-01
      • 2021-09-08
      • 2015-09-16
      • 2018-03-30
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多