欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ASP.NET运行机制(三)--使用HttpHandler,处理对aspx页面的请求

程序员文章站 2024-02-28 09:59:58
...

最近了解了HttpHandler的基本原理后,制作了一个简单的案例。

项目的目录如图:ASP.NET运行机制(三)--使用HttpHandler,处理对aspx页面的请求

一、在App_Code文件夹里创建TestHttpHandler类,并实现IHttpHandler接口。 

namespace HttpHandler_Demo.App_Code
{
    public class TestHttpHandler : IHttpHandler
    {
        //public bool IsReusable => throw new NotImplementedException();
        public bool IsReusable  
        {
            get { return false; }
        }

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";
            context.Response.Write("<h2>HttpHandler是每一个请求的真正处理中心</h2>");
        }
    }
}

二、为Web.config文件添加配置节点

<!--配置节点-->
  <system.webServer>
    <handlers>
      <!--type="命名空间.类名"-->
      <add verb="*" path="Admin/*.aspx"  name="handler" type="HttpHandler_Demo.App_Code.TestHttpHandler"/>
    </handlers>
  </system.webServer>

三、添加Admin文件夹,并在里面添加Default.aspx页面。

<body>
    <form id="form1" runat="server">
        <div></div>
    </form>
</body>

看下运行后的效果:

ASP.NET运行机制(三)--使用HttpHandler,处理对aspx页面的请求

四、还有一种方式,使用一般处理程序来完成的

创建一个Handler.ashx一般处理程序。

namespace HttpHandler_Demo
{
    /// <summary>
    /// Handler 的摘要说明
    /// </summary>
    public class Handler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World,这是一个一般处理程序");
        }

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

再看下这个的运行效果:

    ASP.NET运行机制(三)--使用HttpHandler,处理对aspx页面的请求

相关标签: HttpHandler ASP.NET