Я пытаюсь понять, почему этот очень простой HttpModule не работает.Код является предшественником простого HttpUrlRewriter, который мне нужно разработать для тестового проекта.
Похоже, что всякий раз, когда я тестирую Запрос, а затем выполняю Ответ, выходные данные не записываются в поток!
Я подключил отладчик (VS 2008) к модулю, и все 3 оператора Response.Write, приведенные ниже, выполняются, но на самом деле на странице выводятся только два внешних оператора.Я пропустил понимание ключа или предостережение?
Спасибо за любую помощь.
Среда обработки: ASP.NET 3.5 / WinXP / IIS 5
с использованием System;using System.Collections.Generic;использование System.Web;используя System.Text;использование System.Web.UI;
public class Interceptor : IHttpModule
{
#region IHttpModule Members
public void Dispose() { }
public void Init(HttpApplication context)
{
context.EndRequest += new EventHandler(TestHandler);
}
private void TestHandler(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
HttpContext ctx = app.Context;
if (1 == 1)
{
ctx.Response.Write("Hello, 2"); // Works, as expected
}
string test = ctx.Request.Url.ToString();
if (test.Contains("/images")) {
ctx.Response.Write("Hello, never written"); // This code executes when the test passes, but nothing is ever written...
}
ctx.Response.Write("Hello"); // Works
}
#endregion
}