我在生产系统中有一个有问题的错误,我根本找不到。有时系统会生成无效链接。当最终用户单击它时,我从系统收到错误报告,最终用户收到错误消息。失败的 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 请求产生了错误链接,所以我需要检查每个响应。
最佳答案
您无法读取响应流,但您可以向输出流添加响应过滤器,并获取它的副本。
有几篇相关的文章:
- Logging raw HTTP request/response in ASP.NET MVC & IIS7在这里 所以
- Capturing and Transforming ASP.NET Output with Response.Filter里克·斯特拉尔 (Rick Strahl)。
希望这对您有所帮助。
关于c# - ASP.NET 将响应保存到 global.asax 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155508/