Chad 2006-12-03

    昨天做0.31的修补工作做到今天(12月2日)早上差不多凌晨四点才睡.中午十二点半起床吃了点东西后便开始研究验证码系统(其实前两天都有想过这个问题了).虽然手中有从图书馆借来的WROX出的"ASP.NET程序员参考手册",但还是花了不少时间去琢磨我没用过的类,如System.Drawing.Bitmap\ System.Drawing.Graphics等.

   开始的时候,我的想法是先把生成的图片流保存成一个图片文件,再用image control 指向该图片.神奇的是,在本地主机上运行时是可以的,但我上传到虚拟主机上时,生成的图片文件就有问题了,无法正常显示.

   后来在网上查了一下,得知aspx页面本身就可以当成流载体,从而解决了上面的问题.查资料的时候还发现在asp时代,还有先把验证码图片先存到数据库上再读取的方法呢,这种方法现在看来显然是很不妥的,浪费资源.

ver0.32 checkcode http://blog.inluck.net


   验证码系统做好后,下一步想试试把页面间的参数加密或隐藏起来,这可能要用到编码技术,所以还要看一些关于加密和解密方面的书.离期末考试大约还有一个多月,不知道时间够不够啊~~~


下面的ver0.31和0.32的开发日志:
**********************************************************
2006-12-01    -ver0.31
完善日志回复功能

***MSSQL-database***
entries表添加replycount字段,用来储存日志回复数;

***entry.cs***
1.添加replycount属性;
2.去除两行多余代码,优化save()方法;

***default.aspx & classify.aspx***
1.添加一个label,将其和replycount数据绑定;
2.将设置navigator的代码移至login.aspx和logout.aspx,优化程序;
3.添加七个label,用于显示分类日志的数目;

***myguest.cs***
1.修正save()方法,使日志回复和guestbook内的记录被全部删除时也能保存新记录;
2.添加addreplycount()方法,使得每回复一次便给replycount加1;

***delete.aspx***
1.修改删除guestData的模块,使其每删除一条日志回复便给replycount减1;

***global.asx***
1.修正 loadonemespage()和loadonemesspage()方法,使得日志回复和guestbook内的记录被全部删除时也

能正常显示;
2.添加loadclassifycount()方法,用于获取每一类别的日志数目,返回一个数组;

**********************************************************




**********************************************************
2006-12-02    -ver0.32
验证码系统

***主项目***
1.添加mycheckcode类,用System.Drawing.Bitmap类和System.Drawing.Graphics类生成图片流,使用

FileStream类实例将图片流保存成图片文件;

***login.aspx & guest.aspx & view.aspx & edit.aspx***
1.添加textbox和image control,用于接收和显示验证码;
2.修改page_load()方法,给登录按钮添加事件函数;

?????????????????????????????
问题:在虚拟主机上不能正常制图;

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
在网上查了些资料,发现可以用aspx页面当做图片载体;

***主项目***
添加checkcode.aspx页面,用来输出生成的图片流;

***login.aspx & guest.aspx & view.aspx & edit.aspx***
修正与验证码有关的代码;

***mycheckcode.cs***
给验证码调色;

**********************************************************