• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#用一般处理程序ashx生成、传递数据

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
添加一个ashx类,用来生成数据,传递数据
用一个ashx类对象生成验证码,绘制验证码,传递数据
注意:要使用Session需要引用System.Web.SessionState命名空间,让ashx类继承IRequiresSessionState 接口
<%@ WebHandler Language="C#" Class="BackImage" %>

using System;
using System.Web;
using System.Drawing;
using System.Web.SessionState;
public class BackImage : IHttpHandler,IRequiresSessionState {
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "image/jpeg";//规定返回一个图片
        //生成一个验证码
        string strCheck = "";
        Random r = new Random();
        for (int i = 1; i <= 4; i++)
        {
            string s = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            int start = r.Next(61);
            strCheck += s.Substring(start, 1);
        }
        //将验证码画在图片上
        Bitmap img = new Bitmap(40,20);//造一个空白画板
        Graphics gr=Graphics.FromImage(img);//定义一个画板img的画笔
        SolidBrush brush=new SolidBrush(Color.White);//定义一个白色的刷子
        gr.FillRectangle(brush, 0, 0, 40, 20); //画一个白色长方形背景
        
        Font font=new Font("宋体",13,FontStyle.Italic);//定义一个绘制字符串时,用的字体
        brush.Color = Color.Red;//改变刷子的颜色,与背景区别
        gr.DrawString(strCheck,font,brush,0,0);

        //将此图像保存到指定的流中
        img.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);

        //定义一个Session传递数据
        context.Session["strCheck"] = strCheck;
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}

ASP网页

注意实现访问随机ashx类文件的方式,和访问Session信息的方式(直接调用Session)

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#的WebBrowser操作frame发布时间:2022-07-13
下一篇:
C#中使用MSChart组件发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap