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>

     

  • 相关阅读:
    HashMap源码分析——基于jdk1.7
    HashMap线程不安全的体现
    Java线程状态转换
    Java多线程——中断机制
    ThreadPoolExecutor解析
    Java中的CAS原理
    AQS框架源码分析-AbstractQueuedSynchronizer
    深入学习CSS外边距margin(重叠效果,margin传递效果,margin:auto实现块级元素水平垂直居中效果)
    CSS布局 两列布局之单列定宽,单列自适应布局思路
    JavaScript 基本类型和引用类型
  • 原文地址:https://www.cnblogs.com/davidgu/p/1511556.html
Copyright © 2011-2022 走看看