ASP.NET:.ashx文件 和 @WebHandler

下班的时候QQ风雨无阻,问她有多久没有主动去看看技术的文章或者书籍了,回答和我现在的状况差不多,N久没看了,不是不想看,而是没时间看,总是有写不完的代码,不写代码时也不想看了,或许有些东西只有需要才会去学吧。
一 直以来用Asp.Net写网站程序,基本上只用到.aspx和.ascx两种扩展名,以至于把.ashx忘的光光的,到后来自己用Ajax向服务器发请求 时,也是直接请求的aspx页面,既派生于Page的对象,更好的方式应该是使用.ashx来做为Ajax的响应URL,因为ashx页面和 WebHandler指令将实例化了一个派生于IHttpHandler的对象,只需要在ProcessRequest方法里写响应代码即可,相对 Page显然轻量很多。
 
看了下ASP.NET的所有指令:@Page,@Control,@Import,@Implements,@Register,@Assembly,@Master,@WebHandler,
@PreviousPageType,@MasterType,@OutputCache,@Reference,有12个之多,就挨个再学习一遍吧,从@WebHandler开始。
 
@WebHandler 为Http handler文件(.ashx)定义属性(Attribute)和编译选项。
 
属性
Class 指定一个继承自IHttpHandler的类,当handler被请求时将被实例化用来响应请求。这个属性是必须的
CodeBehind 指定Class对应的文件,基本上没用,主要是用来支持VS显示的,可以去掉。
 
编译选项
Debug 默认是false,所以非调试就不用打开,影响性能,可以省略
Description 关于当前handler的描述,ASP.NET解析时忽略,可能调试时能提供辅助信息,可以省略
Language 默认C# ,可以省略
WarningLevel 0-4 默认我也不知道是几,可以省略。
 
使用ashx的好处就是不需要在Web.Config中配置,就可以直接用IHttpHandler派生类来处理请求,一些常见的应用场景:动态生成图片(比如验证码),响应Ajax请求等。
 

本文首发于:http://www.wanlei.net/2009/05/31/ashx-webhandler/

 

转载于:https://www.cnblogs.com/gboxcc/archive/2009/05/31/1493305.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值