ashx一般处理程序
说明:
虽然通过标准的方式可以创建处理程序,但是实现的步骤比较复杂,为了方便网站开发中对处理程序的应用,从Asp.net 2.0开始,asp.net提供了称为一般处理程序的处理程序,允许我们使用比较简单的方式定义扩展名为ashx的专用处理程序。
好处:
通常是实现IHttpHandler接口,因为不必继承自Page类,所以没有那么多事件需要处理,不必消耗太多资源,所以性能方面要比aspx高
使用场景:
对于asp.net网站来说,网站最觉的处理结果就是HTML网页,生成网页的工作通常使用扩展名为aspx的Web窗体来完成。对于处理结果不是HTML的请求,都可以通过一般处理程序完成。例如生成RSS Feed、XML、图片等。
一般处理程序是asp.net网站中最为简单、高效的处理程序,在处理返回类型不是HTML的请求中有着重要的作用。
代码:
通过vs2010中新创建的一般处理程序将会生成两个文件show.ashx和show.ashx.cs。其中show.ashx文件中的内容如下所示:
<%@ WebHandler Language="C#" CodeBehind="Show.ashx.cs" class="Web.API.Show" %>
对应的代码文件show.ashx.cs中的内容如以下代码所示。
using System; using System.Web; public class show:IHttpHandler{
/// <summary>
/// 如果 IHttpHandler 实例可再次使用,则为 true;否则为 false。
/// 在并发情况下,如果你当前的handle调用了某个独占的线程(进程)(比如说,你的handle独占写入某个文本文件(所有的并发都需要写入这个))那么就需要设置为false;
/// 如果你的handle没有这种非安全的情况,就可以直接设置为true。通常大多数项目都设置为true的
/// </summary> public bool IsReusable{ get{ return false; } } public void ProcessRequest(HttpContext context){ context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); } }
posted on 2013-09-24 14:27 AngelLee2009 阅读(15297) 评论(0) 编辑 收藏 举报