自定义HttpHandler

1、创建自定义类型

2、继承IHttpHandler接口,并实现

3、配置Web.Config文件,注册类型

4、访问

public class QuickMsgSatisticsHandler : IHttpHandler
    {
        HttpContext context = null;
        #region IHttpHandler 成员

        public void ProcessRequest(HttpContext context)
        {
            this.context = context;
            context.Response.ContentType = "text/plain";
            Common.DataManager.QuickInsert("SMS_QuickContentSatistics", new string[1] { "ID" }, new object[1] { GetRequestID });
        }

        public bool IsReusable
        {
            get { throw new NotImplementedException(); }
        }

        public string GetRequestID
        {
            get
            {
                return this.context.Request.Form["id"];
            }
        }

        #endregion
    }
    <httpHandlers>
            <!--注意:verb谓词,就是访问方式(POST、GET等) path指示访问路径,type注册类型(前面为类型名,后面为类型所在的程序集,用逗号隔开)-->
                  <add verb="*" path="QuickMsgSatisticsHandler" type="ZXHomeProject.Web.SMS.QuickMsgSatisticsHandler,ZXHomeProject.Web"/>
        </httpHandlers>
$.ajax({
                   type: "POST",
                   url: "QuickMsgSatisticsHandler",
                   async : false,
                   data: { id : $(elem).attr(‘msgid‘)},
                   dataType: "text",
                   success: function(data,Status,XMLHttpRequest){

                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(errorThrown);
                    }
            });

优点,没有aspx那么笨重,速度有所提升,由于访问局限性,安全性加强。

时间: 2024-11-07 04:26:22

自定义HttpHandler的相关文章

理解并自定义HttpHandler

前言 之前从网上找了几篇讲解如何自定义HttpHandler的文章,依葫芦画瓢却一直没成功过.经过上一篇<asp.net管道模型(管线模型)之一发不可收拾>的总结,对管道模型和请求/响应过程有进一步的了解后,再结合Asp.Net 构架(Http Handler 介绍) - Part.2后终于成功定义自己的HttpHandler和HttpHandlerFactory了^_^. 本文有些地方会跟<asp.net管道模型(管线模型)之一发不可收拾>有些重叠,但角度会有所不同,两篇文章相互

自定义HttpHandler配置iis8.0

配置环境,window8 ,iis8.0,.net Framework4.0,托管管道模式“经典” 步骤 (1)进入iis管理器,选中要设置的网站-->功能视图-->MIME类型-->添加-->文件扩展名填“.json”(不要引号),MIME类型(M)填“text/json”(不要引号)-->点确定保存 (2)回到功能视图-->处理程序映射-->点击右边 添加脚本映射-->请求路径填“*.json”(不要引号),可执行文 件  %windir%\Micros

HttpHandler,HttpApplication, HttpModule

选择HttpHandler还是HttpModule? HttpHandler和HttpModule之间有什么差别 之所以有这个疑问,是因为在这二类对象中都可以访问Request, Response对象,都能处理请求. 我原以为在博客 用Asp.net写自己的服务框架 中做了那么多的演示应该把它们的使用方法说清楚了, 然而有些人看了我的那些示例,仍然不知道该如何选择它们,为了实现同一个目标,我既用了HttpHandler,也有用HttpModule. 现在看来,我当时设计的那些示例并不是讲清楚Ht

IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求

今天将开发好的ASP.NET站点部署到客户的服务器上后,发现了一个非常头疼的问题,那么就是IIS7的应用程序池是集成模式的话,ASP.NET项目中自定义的HttpModule会处理静态文件(.html .css .js .jpeg等)请求,而这不是我预期的效果,因为我只想让托管文件(aspx, ascx 及 MVC等)的请求被自定义HttpModule处理,但是我发现在IIS7的集成模式下所有请求都会进入HttpModule被处理. 后来我尝试将IIS7站点下的应用程序池改为了经典模式,这样的话

HttpHandler

注:本文为个人学习摘录,原文地址:http://www.cnblogs.com/stwyhm/archive/2006/08/09/471765.html 概述 HttpHandler是一个HTTP请求的真正处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中. IHttpHandler是什么 IHttpHandler定义了如果要实现一个H

ASP.NET-自定义HttpModule与HttpHandler

在之前的ASP.NET是如何在IIS下工作的这篇文章中介绍了ASP.NET与IIS配合工作的机制,在http请求经过一系列处理后,最后到达ASP.NET管道中,这时,就是Http Modules和HttpHandler出场的时候了. 再来摆出管道工作时序图来一看: HttpModule HttpModule是类似于过滤器的作用,可以没有,也可以有任意个,每一个都可以订阅管道事件中的任意个事件,在每个订阅的事件中可自定义功能实现. HttpModule是实现IHttpModule接口的类.接口如下

选择HttpHandler还是HttpModule?

最近收到几个疑问:HttpHandler和HttpModule之间有什么差别,我到底该选择哪个?之所以有这个疑问,是因为在这二类对象中都可以访问Request, Response对象,都能处理请求. 我原以为在博客 用Asp.net写自己的服务框架 中做了那么多的演示应该把它们的使用方法说清楚了, 然而有些人看了我的那些示例,仍然不知道该如何选择它们,为了实现同一个目标,我既用了HttpHandler,也有用HttpModule. 现在看来,我当时设计的那些示例并不是讲清楚HttpHandler

ASP.NET-自定义HttpModule与HttpHandler介绍

在之前的ASP.NET是如何在IIS下工作的这篇文章中介绍了ASP.NET与IIS配合工作的机制,在http请求经过一系列处理后,最后到达ASP.NET管道中,这时,就是Http Modules和HttpHandler出场的时候了.一看: HttpModule HttpModule是类似于过滤器的作用,可以没有,也可以有任意个,每一个都可以订阅管道事件中的任意个事件,在每个订阅的事件中可自定义功能实现. HttpModule是实现IHttpModule接口的类.接口如下: public inte

HttpHandler(处理程序) 和 HttpModule(托管模块)

本文参见:http://www.tracefact.net/Asp-Net/Introduction-to-Http-Handler.aspx 前言:前几天看到一个DTcms网站,里面有个伪静态技术,那我之前也写过一个伪静态,是通过一个URlWrite类在配置文件里面配置就可以了.而他的网站结构不同于我先前介绍的,网站里面是把页面与代码完全分离,页面是纯粹的HTML页面,代码就是*.cs文件,利用他里面介绍的语法可以在HTML页面写后台代码.这个是非常值得学习的.这篇文章就是打的基础.之前在配置