zoukankan      html  css  js  c++  java
  • C#用一般处理程序ashx生成、传递数据

    添加一个ashx类,用来生成数据,传递数据
    SNAGHTMLe288f1
    用一个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网页

    SNAGHTMLe51fc4

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

    SNAGHTMLea6136

  • 相关阅读:
    atom那些事儿
    浙江省和杭州市
    Web API之indexedDB和Web SQL
    绝对定位元素居中
    多列等高布局
    git生成ssh key及github ssh key对接
    vuejs模板使用方法
    css3动画图片波纹效果
    sticky footer布局,定位底部footer
    css3圆环闪烁动画
  • 原文地址:https://www.cnblogs.com/wllhq/p/4420846.html
Copyright © 2011-2022 走看看