Asp.net 一般处理程序+扩展
程序员文章站
2023-02-28 14:13:15
在上一篇博客中,提到一般处理程序真的不一般。这篇博客主要是给大家解惑。由于最近在做项目的过程中,用到了很多的一般处理程序,相信你也一定用到过,但是你真的了解它吗?...
在上一篇博客中,提到一般处理程序真的不一般。这篇博客主要是给大家解惑。由于最近在做项目的过程中,用到了很多的一般处理程序,相信你也一定用到过,但是你真的了解它吗?
介绍:
一般处理程序的一般是相对于aspx页面来说的,它介于请求与响应之间的处理程序。说白了就是去掉了前台appx HTML 页面的cs部分,什么请求都可以处理,实现IHttpHandler接口。
通过VS2012中创建一个一般处理程序将会生成两个后缀名的文件.ashx和.ashx.cs。其中.ashx.cs对应的内容,如以下代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace web { /// /// Handler 的摘要说明 /// 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; } } } }
从上面的代码可以看到,一般处理程序实际上就是一个实现IHttpHandler接口的处理程序类,这个处理程序被ASP.NET直接在系统配置文件映射到了ashx扩展名的请求上。这样,我们就不需要在配置文件中进行配置了。
优点:
实现:
一般处理程序可以完成的功能很多,输出HTML,效果跟aspx+cs是一样的,还可以用来发送非html类或无需html代码的数据等,比如文本、XML、图片,甚至二进制文件格式,还有最常用json数据格式等。
简单的举三个最常用的例子:
1、图片过滤(防盗链)2、图片验证码
3、处理自定义后缀名请求
这个三个例子的代码,我通过转载的博客,为大家做一个详细的介绍。
总结:
以往我们都是从功能的角度来学习和思考某个页面怎样用,随着不断学习的深入,我更加的认为应该从原理和本质认识和学习,从上面转载的博客为大家解决这个问题。
上一篇: php函数和数据代码实例讲解
推荐阅读
-
ASP.NET 运行时错误: 没有为扩展名“.asax”注册的生成提供程序修正版
-
由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
-
Asp.net利用一般处理程序实现文件下载功能
-
一般处理程序Session
-
ASP.NET中在一般处理程序中如何使用session
-
Asp.net 一般处理程序+扩展
-
ASP.NET的ASHX一般处理程序中Session为null且不能赋值
-
一般处理程序,将nvarchar值转换成数据类型int时失败
-
在一般处理程序(ashx)中弹出js提示语
-
.net Ajax与后台一般处理程序(ashx) 交互