Asp.Net中HttpHandler的研究

Asp.Net中HttpHandler的研究


HttpHandler实现了ISAPI Extention的功能,他处理请求(Request)的信息和发送响应(Response)HttpHandler功能的实现通过实现IHttpHandler接口来达到。

看图先:
单击在新窗口中浏览图片

在ASP.NET管道处理的末端是HTTP Hander,其实每个Asp.net的Page都实现了IHttpHander,在VS.net中的对象察看器中你可以证实这一点:
单击在新窗口中浏览图片

接口IHttpHandler的定义如下:
interface IHttpHandler
{
    void ProcessRequest(HttpContext ctx);

    bool IsReuseable { get; }
}

接口中ProcessRequest是添加自己的代码进行相应处理的地方。IsReuseable属性指明该HttpHandler的实现类是否需要缓存。

    例1:
using System;
using System.Web;

namespace HttpHandlerTest
{
     <summary>
    /// URL重置
    /// </summary>
    public class Redirect : IHttpHandler
    {
        public Redirect()
        {
        }

        public void ProcessRequest(HttpContext context)
        {
            HttpServerUtility Server = context.Server;
            Server.Transfer("test1.aspx");
        }

        public bool IsReusable
        {
            get { return false; }
        }
    }
}

这里的Redirect功能是在web请求满足HttpHandler配置文件中预设条件下自动跳转到另一个页面,在web.config中<httpHandlers>节点配置如下:
<add verb="*" path="test.aspx" type="HttpHandlerTest.Redirect, HttpHandlerTest" />

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值