zoukankan      html  css  js  c++  java
  • HttpHandler初探 - 页面上输出图像

    ASP.NET处理底层HTTP请求有2种方式:

    1)HttpModule      2) HttpHandler

    今天我们来看一下HttpHandler的基本应用。

    场景:利用HttpHandler在页面上输出一张图像。

    在项目中添加HttpHandler的方法有2种:

    一种是利用VS2008自带的Generic Handler模板添加扩展名为.ashx的文件。

    另一种是利用WebConfig文件中的HttpHandler映射。

    方法一(ashx模板):

    首先利用VS2008自带的Generic Handler模板添加扩展名为.ashx的文件,

    ashx代码如下:

    using System;
    using System.Web;

    namespace AspNet35.Advanced
    {
        
        
    public class picHandler : IHttpHandler
        {

            
    public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType 
    = "image/jpeg";
                context.Response.WriteFile(
    "../Images/Garden.jpg");
            }

            
    public bool IsReusable
            {
                
    get
                {
                    
    return false;
                }
            }
        }

    }

    然后在显示图片的页面中将<img>的源指向该ashx文件,aspx文件代码如下:

    <div>
        
    <img src="picHandler.ashx" />
    </div>

    方法二(WebConfig映射):

    首先建立一个实现IHttpHandler接口的类,代码如下:

    using System.Web;

    public class MyPicHandler : IHttpHandler
    {

        
    public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType 
    = "image/jpeg";
            context.Response.WriteFile(
    "~/Images/Sea.jpg");
        }

        
    public bool IsReusable
        {
            
    get
            {
                
    return false;
            }
        }

    }

    然后在WebConfig文件中映射该类,Web.config代码如下:

    <system.web>
      
      
    <httpHandlers>
        
        
    <add verb="*" path="MyImage" type="MyPicHandler, App_Code" />
      
    </httpHandlers>
    </system.web>

    最后在page页面中将<img>的源指向webconfig文件中映射的别名,既path后面的名字,page代码如下:

    <div>
        
    <img src="MyImage" />
    </div>

     

  • 相关阅读:
    水滴二次开发日志5
    水滴二次开发日志4
    水滴二次开发日志3
    水滴二次开发日志2
    NOIp2020AFO记
    Diary(2020十一月 NOIP赛前集训)
    我们的Gary真的是太强辣
    Diary(2020十月 CSP赛前集训)
    Diary(2020九月 半集训)
    Music
  • 原文地址:https://www.cnblogs.com/davidgu/p/1511556.html
Copyright © 2011-2022 走看看