您的位置:首页 > 其它

ashx一般处理程序

2013-09-24 14:27 197 查看
说明:
虽然通过标准的方式可以创建处理程序,但是实现的步骤比较复杂,为了方便网站开发中对处理程序的应用,从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");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: