我创建一个IIS模块,它在加载之前将文本附加到页面上。当我转到网址时,第一次加载页面时效果很好。然而,在随后的加载中,文本从不附加。IIS7模块只能第一次运行?
有关如何解决这个问题的任何想法?
== == CODE
这里是我的web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" />
</system.web>
<system.webServer>
<modules>
<add name="MIModule" type="MI.MyModule, MI" />
</modules>
<caching enabled="false" enableKernelCache="false" />
</system.webServer>
</configuration>
一些模块代码:
public void context_PreRequestHandlerExecute(Object source, EventArgs e)
{
HttpApplication app = (HttpApplication)source;
HttpRequest request = app.Context.Request;
string pageContent = app.Response.Output.ToString();
string useragent = "HI!<br />" + pageContent + "<hr />" ;
try
{
_current.Response.Output.Write(useragent);
}
catch
{
}
}
和其他代码:
private HttpContext _current = null;
#region IHttpModule Members
public void Dispose()
{
throw new Exception("Not implemented");
}
public void Init(HttpApplication context)
{
_current = context.Context;
context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute);
}
#endregion
如果它在页面之前加载,它听起来更像是一个模块,而不是一个处理程序。你可以发布一些代码吗? – bottlenecked
@bottlenecked - 对不起,你是正确的,模块不处理。我附上了一些代码。 – Dexter