httpModules

在Windows平台上,HTTP 管道需要IIS的支持  运行asp.net iis 需要两个文件 ASPNET_ISAPI.DLL和 ASPNET_WP.EXE

· ASPNET_ISAPI.DLL是一个ISAPI Extention他将发向IIS的请转交ASPNET_WP.EXE处理
· ASPNET_WP.EXE使用HttpRuntime对请求进行具体处理 

 

 HTTP处理管道中的类在System.Web名称空间中定义,主要有以下类型: · HttpWorkerRequest 抽象类定义了ASP.Net页面处理请求的基本方法; · HttpRuntime 提供了处理应用的一组服务; · HttpContext 保存了处理一次请求的所有相关上下文信息; · HttpApplicationFactory 提供相关目录的应用程序; · HttpApplication 定义了所有ASP.Net应用程序的通用的方法、属性和事件。这个类也是在用户在global.asax文件中定义的应用的基类; · Modules 处理请求前和响应后的事件; · HandlerFactories 提供应用程序中的Handlers; · Handlers 处理请求和响应。 

借用 一个简单的列子,别人写的

以下是改写的一个简单的httpmodules来重写URL的例子。
public class MyHttpModule : IHttpModule
{
    public MyHttpModule()
    {

    }

    public void Init(HttpApplication application)
    {
        application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
    }

    public void Dispose()
    {
    }

    private void Application_BeginRequest(Object source,EventArgs e)
    {
        HttpApplication application = (HttpApplication)source;
        HttpContext context = application.Context;
        string filePath = context.Request.Path;

        string newFilePath = "1.htm";
        context.RewritePath(newFilePath);
    }
}

在web.config的<httpModules>节点中加上<add name="MyHttpModule" type="MyHttpModule"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值