首页 > 编程 > .NET > 正文

ASP.NET笔记之 Httphandler的操作详解_.Net教程

2024-07-10 12:52:20
字体:
来源:转载
供稿:网友

推荐:Json数据转换list对象实现思路及代码
本文为大家详细介绍下Json数据转换list对象的具体实现,感兴趣的朋友可以参考下哈,希望对你有所帮助

1、httphandler

实例1:通过生成一张动态图片输出客户端的IP地址、操作系统类型、浏览器类型

复制代码 代码如下:www.CuoXIn.com

<%@ 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>

复制代码 代码如下:www.CuoXIn.com

<%@ 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;
}
}

}

分享:asp.net服务器端指令include的使用及优势介绍
将指定文件的内容插入 ASP.NET 文件中,包括网页(.aspx 文件)、用户控件文件(.ascx 文件)和 Global.asax 文件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表