ASP.NET 捕获并替换 Global.asax 中的输出

发布于 2024-07-19 00:46:22 字数 427 浏览 7 评论 0原文

我需要替换从我网站上每个页面发送的一些数据,我认为可以使用 Global.asax 来完成。 这是我到目前为止所尝试过的:

void Application_PreSendRequestContent(object sender, EventArgs e)
{
    System.IO.StreamReader sr = new System.IO.StreamReader(Response.OutputStream);
    String output = sr.ReadToEnd();

    Response.ClearContent();
    Response.Write("Testing..");
}

但这给了我一个 ArgumentException。 我究竟做错了什么? 有没有更好的方法来做到这一点?

谢谢

I need to replace some data that's sent from every page on my site, and I think doing it with Global.asax. This is what I have tried with so far:

void Application_PreSendRequestContent(object sender, EventArgs e)
{
    System.IO.StreamReader sr = new System.IO.StreamReader(Response.OutputStream);
    String output = sr.ReadToEnd();

    Response.ClearContent();
    Response.Write("Testing..");
}

But this gives me an ArgumentException. What am I doing wrong? Is there any better way to do this?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

琴流音 2024-07-26 00:46:23

有没有更好的方法来做到这一点?

对于此类任务,HttpModule 可能是更好的选择。

有关如何修改请求响应的示例,请查看本文:使用响应过滤器生成符合 XHTML 的页面

Is there any better way to do this?

A HttpModule might be the better choice for such a task.

For an example on how to modify the response of a request, have a look at this article: Producing XHTML-Compliant Pages With Response Filters.

初吻给了烟 2024-07-26 00:46:23

帖子 在 ASP.NET 中记录原始 HTTP 请求/响应MVC与 IIS7 非常清楚地描述了如何获取响应的副本。

The post Logging raw HTTP request/response in ASP.NET MVC & IIS7 descibes very nicely exactly how to get a copy of the response.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文