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编辑  收藏  举报

导航