程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET筆記之 Httphandler的操作詳解

ASP.NET筆記之 Httphandler的操作詳解

編輯:ASP.NET基礎

1、httphandler

        

實例1:通過生成一張動態圖片輸出客戶端的IP地址、操作系統類型、浏覽器類型
復制代碼 代碼如下:
<%@ WebHandler Language="C#" Class="visitor" %>

using System;
using System.Web;

public class visitor : IHttpHandler {

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "image/JPEG";
        using (System.Drawing.Bitmap bitImage = new System.Drawing.Bitmap(330, 300))
        {
            //設置畫布
            using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitImage))
            {
                //IP
                g.DrawString("IP:" + context.Request.UserHostAddress, new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 0));
                //操作系統
                g.DrawString("操作系統:" + context.Request.Browser.Platform, new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 50));
                //浏覽器
                g.DrawString("浏覽器:" + context.Request.Browser.Type, new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 100));
            }
            //保存到輸出流中
            bitImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

        }
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

實例2:通過“下載”連接,彈出用戶附件保存

html代碼:<a href="dowload.ashx">下載</a>
復制代碼 代碼如下:
<%@ WebHandler Language="C#" Class="dowload" %>

using System;
using System.Web;

public class dowload : IHttpHandler {

    public void ProcessRequest(HttpContext context)
    {
        string fileName = HttpUtility.UrlEncode("悲劇.jpg");
        context.Response.ContentType = "image/JPEG";

        //打開附件對話框  報文頭header和設置它的值
        context.Response.AddHeader("Content-Disposition", "attachment:filename=" + fileName);
        context.Response.WriteFile("蘋果.jpg");      
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved