http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3251|回复: 5

[其他] 将image的imageURL属性设置为一般处理程序ashx,问题在代码中

[复制链接]
发表于 2015-11-30 13:39:29 | 显示全部楼层 |阅读模式
public void ProcessRequest (HttpContext context)
    {

        string strValidCode = GetValidCode(5);
        context.Session["ValidCode"] = strValidCode;     //调试时这句提示:未将对象引用设置到对象的实例。不知如何解决
        Bitmap image = new Bitmap(120, 30);
        Graphics g = Graphics.FromImage(image);

        try
        {
            Random random = new Random();
            g.Clear(Color.White);
            for (int i = 0; i < 25; i++)
            {
                int x1 = random.Next(image.Width);
                int x2 = random.Next(image.Width);
                int y1 = random.Next(image.Height);
                int y2 = random.Next(image.Height);
                g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
            }

            Font font = new Font("Arial", 20, (FontStyle.Bold));
            LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 3, true);
            g.DrawString(strValidCode, font, brush, 5, 2);
            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
            MemoryStream ms = new MemoryStream();
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            context.Response.ClearContent();
            context.Response.ContentType = "image/Gif";
            context.Response.BinaryWrite(ms.ToArray());

        }
        finally
        {
            g.Dispose();
            image.Dispose();
        }

    }



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-11-30 14:24:32 | 显示全部楼层
调试看看 strValidCode这个的值是不是不存在,
 楼主| 发表于 2015-11-30 15:21:54 | 显示全部楼层
站长苏飞 发表于 2015-11-30 14:24
调试看看 strValidCode这个的值是不是不存在,

context.Session["ValidCode"] = strValidCode;
strValidCode里面有值,左边 context.Session["ValidCode"]为nulll
 楼主| 发表于 2015-11-30 15:32:44 | 显示全部楼层
eofd007 发表于 2015-11-30 15:21
context.Session["ValidCode"] = strValidCode;
strValidCode里面有值,左边 context.Session["ValidCod ...

弄了半天,终于解决了。分享一下,也算记录一下吧。
先引用System.Web.SessionState这个命名空间
让myHttpHandler再实现IRequiresSessionState就ok了
    public class myHttpHandler:IHttpHandler,IRequiresSessionState
发表于 2015-11-30 16:06:13 | 显示全部楼层
那就是了,一个空对象是不能赋值的
发表于 2015-12-1 09:04:33 | 显示全部楼层
eofd007 发表于 2015-11-30 15:32
弄了半天,终于解决了。分享一下,也算记录一下吧。
先引用System.Web.SessionState这个命名空间
让myH ...

在一般处理程序中使用session 是需要这个一般处理程序实现这个接口的,不然在一般处理程序中session是没法用的
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-23 21:44

© 2014-2021

快速回复 返回顶部 返回列表