ASP.NET Захват и замена вывода в Global.asax - PullRequest
2 голосов
/ 04 мая 2009

Мне нужно заменить некоторые данные, которые отправляются с каждой страницы моего сайта, и я думаю, что делать это с 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. Что я делаю неправильно? Есть ли лучший способ сделать это?

Спасибо

Ответы [ 2 ]

8 голосов
/ 04 мая 2009

Есть ли лучший способ сделать это?

A HttpModule может быть лучшим выбором для такой задачи.

Пример того, как изменить ответ на запрос, можно найти в этой статье: Создание XHTML-совместимых страниц с фильтрами ответов .

1 голос
/ 02 мая 2013

Публикация Регистрация необработанного HTTP-запроса / ответа в ASP.NET MVC & IIS7 очень точно описывает, как получить копию ответа.

...