zoukankan      html  css  js  c++  java
  • 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"); } }
  • 相关阅读:
    [Gym
    [Codeforces995C]Leaving the Bar 瞎搞
    [hdu3685]Rotational Painting 凸包 重心
    [hdu5251]矩形面积 旋转卡壳求最小矩形覆盖
    [hdu4667]Building Fence 计算几何 瞎瘠薄搞
    [hdu3934] 凸包 旋转卡壳
    [Codeforces50C]Happy Farm 5 凸包
    [Codeforces166B]Polygons 凸包
    mex(线段树+离散化)
    CF798D 糖果(思维题)
  • 原文地址:https://www.cnblogs.com/AngelLee2009/p/3336847.html
Copyright © 2011-2022 走看看