c# - ASP.NET 将响应保存到 global.asax 中的文件

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

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

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

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

最佳答案

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

有几篇相关的文章:

希望这对您有所帮助。

关于c# - ASP.NET 将响应保存到 global.asax 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155508/

相关文章:

c# - 以编程方式更改 Windows 中的自定义鼠标光标?

c# - 谷歌客户端登录授权和谷歌音乐

asp.net - IIS Express 未在 Visual Studio 2019 中运行

asp.net - 如何在 ASP.NET MVC 中测试自定义模型绑定(bind)器?

php - 有人上传视频时通知

java - 关于如何保存数据的建议

c# - 将 BitmapImage 转换为位图,反之亦然

c# - 为什么在调用取消后线程继续运行?

asp.net - jquery 按 id 选择跨度

file - 如何在 Emacs 中保存所有文件(或保存所有缓冲区)?