让我们考虑一个在本地host.say中运行的示例网站应用程序,例如www.asdf.com。当用户在浏览器中点击url时
可以通过将ihttp处理程序或ihttp模块继承到我们的类www.asdf.com?t=value
在java中,这个概念被用作servelet过滤器。在dotnet中有类似的东西吗?
等待你的回应
发布于 2012-06-07 02:15:23
模块和处理程序执行两种不同的操作。
FormsAuthenticationModule
在每个请求期间响应AuthorizeRequest
(等)事件,检查是否存在身份验证票证,验证它,然后向当前上下文指示用户是否经过身份验证(以及谁)。Page
处理程序处理,该处理程序解析和执行ASPX及其相关的代码隐藏(如果有)。模块和处理程序都可以访问HttpContext
对象,这允许它们检查并在许多情况下操作当前应用程序、当前请求和响应、用户等等。因此,可以访问请求期间提供的查询字符串值。
我认为模块最类似于servlet过滤器。
该模块查找t
查询字符串,并在每个请求的开头回显它。
public class MyModule : IHttpModule {
public String ModuleName {
get { return "MyModule"; }
}
public void Init(HttpApplication application) {
application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
}
private void Application_BeginRequest(Object source, EventArgs e) {
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
context.Response.Write(string.Format("The value of \"t\" is {0}", context.Request.QueryString["t"]);
}
public void Dispose()
{
}
}
https://stackoverflow.com/questions/10929584
复制