在ASP.net中使用自定义Http Handlers来改善性能
2010-08-24 16:52
423 查看
在用Asp.net开发一些大的Web应用程序时,通常会用到自定义HttpHandlers,因为这比用标准的.aspx页面能够提高5-10%的性能。 HttpHandler主要是用来处理Request和Response的,其实Asp.net基类System.Web.UI.Page也实现了IHttpHandler接口。
具体的实现过程是,首先定义一个类来实现IhttpHandler接口,如下:
public class Writer : IHttpHandler {
public void ProcessRequest(HttpContext oContext)
{
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("Test box value");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
}
public bool IsReusable { get { return true; } }
}
然后再编译成Dll文件,并把这个Dll文件添加到WebApplication的项目引用中,修改Web.Config的内容,添加一个HttpHandler,
说明:
• verb可以是"GET"或"POST",表示对GET或POST的请求进行处理。"*"表示对所有请求进行处理。
• Path指明对相应的文件进行处理,"*.aa"表示对发给所有ASPX页面的请求进行处理。可以指明路径,如"/test/*.aa",表明只对test目录下的ASPX文件进行处理。
• Type属性中,逗号前的字符串指明HttpHandler的实现类的类名,后面的字符串指明Dll文件的名称。
然后再IIS中添加程序映射,这样所有发给/test/*.aa的请求都会被我们定义的Handler截获。
具体的实现过程是,首先定义一个类来实现IhttpHandler接口,如下:
public class Writer : IHttpHandler {
public void ProcessRequest(HttpContext oContext)
{
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("Test box value");
oContext.Response.Write("");
oContext.Response.Write("");
oContext.Response.Write("");
}
public bool IsReusable { get { return true; } }
}
然后再编译成Dll文件,并把这个Dll文件添加到WebApplication的项目引用中,修改Web.Config的内容,添加一个HttpHandler,
说明:
• verb可以是"GET"或"POST",表示对GET或POST的请求进行处理。"*"表示对所有请求进行处理。
• Path指明对相应的文件进行处理,"*.aa"表示对发给所有ASPX页面的请求进行处理。可以指明路径,如"/test/*.aa",表明只对test目录下的ASPX文件进行处理。
• Type属性中,逗号前的字符串指明HttpHandler的实现类的类名,后面的字符串指明Dll文件的名称。
然后再IIS中添加程序映射,这样所有发给/test/*.aa的请求都会被我们定义的Handler截获。
相关文章推荐
- 自己定义的httpHandlers无法使用Session(ASP.net 1.1)
- 在Asp.Net中使用自定义性能计数器
- 使用自定义文件缓存提升ASP.NET项目性能
- Asp.net使用httpHandlers报404的问题
- 使用Singleton改善ASP.NET性能备注
- ASP.NET Core使用自定义验证属性控制访问权限详解
- asp.net使用httphandler打包多CSS或JS文件以加快页面加载速度
- redirect的错误用法asp.net怎么使用自定义错误
- 使用MvcMiniProfiler调试ASP.NET MVC网站性能
- ASP.Net中自定义Http处理及应用之HttpHandler篇
- 使用FLEX的HttpService与ASP.NET进行动态交互之一
- 使用ASP.NET Atlas开发实时验证用户名是否被注册的自定义Behavior
- asp.net性能优化之使用Redis缓存(入门)
- ASP.net 使用HttpHandler实现图片防盗链
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- ASP.Net中自定义Http处理及应用之HttpModule篇
- 如何使用谷歌的自定义搜索引擎来搜寻一个ASP.NET网站【转】
- ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息
- FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。