摘要: 在之前的项目中,如果有需要使用验证码,基本都是自己用GDI+画图出来,简单好用,但是却也存在了一些小问题,首先若较少干扰线,则安全性不是很高,验证码容易被机器识别,若多画太多干扰线条,机器人识别率下降的同时,人眼的识别率也同步下降(震惊哭)。更为重要的是,GDI+绘制的验证码一般来说也不会很美观,如果做一个炫酷的登陆界面却配了这样一个验证码,画风诡异,丑到极致。 ... 阅读全文
posted @ 2016-09-20 20:15 玮仔Wayne 阅读(1544) 评论(0) 推荐(5)
摘要: 最近听闻数据结构与算法实践课的老师又出了和上年一样的选题,不禁想起了去年自己完成作业时的点点滴滴,遗憾当时没有写博客的习惯,之前的一些心得这一年实践的过去也逐渐淡忘了,突然就有了总结一下的想法,希望能有新的收获吧。 由于当时也没注意保存,软件完成过程中的一些文档早已丢失了,幸运的是Winform版源 阅读全文
posted @ 2016-09-18 18:49 玮仔Wayne 阅读(9114) 评论(1) 推荐(0)
摘要: 为了解决单机处理的瓶颈,增强软件的可用性,我们需要将软件部署在多台服务器上启用多个二级子域名以频道化的方式,根据业务功能将网站分布部署在独立的服务器上,或通过负载均衡技术(如:DNS轮询、Radware、F5、LVS等)让多个频道共享一组服务器。当我们将网站程序分部到多台服务器上后,由于Session受实现原理的局限,无法跨服务器同步更新Session,使得登录状态难以通过Ses... 阅读全文
posted @ 2016-09-17 17:29 玮仔Wayne 阅读(738) 评论(2) 推荐(2)
摘要: 分别使用Controller和Filter方法完成登录验证,对比二者的优劣 阅读全文
posted @ 2016-09-17 10:16 玮仔Wayne 阅读(793) 评论(5) 推荐(1)
摘要: 分析ASP.NET MVC中隐藏处理的方法,使用内存队列记录日志防止并发错误,Log4Net的使用方法及简单应用 阅读全文
posted @ 2016-09-17 09:39 玮仔Wayne 阅读(539) 评论(0) 推荐(2)
摘要: 简单介绍了IOC的知识,提供了控制台Demo来展示Spring.Net的基本用法,介绍了Spring.Net在ASP.NET MVC程序中的使用方法 阅读全文
posted @ 2016-09-16 20:39 玮仔Wayne 阅读(530) 评论(0) 推荐(1)
摘要: 在前篇中我们已经将User类中的代码做了具体的实现,但仍然有多个实体类未实现,以后可能还会增加新的数据表,数据表结构也有可能发生变化,所以我们使用T4模板来完成类的生成,这样就算数据库表发生了改变,也会自动根据改变后的实体对类进行重新生成。 下面是数据访问层的T4模板文件 Dal.tt using PMS.IDAL; using PMS.Model; us... 阅读全文
posted @ 2016-09-16 18:35 玮仔Wayne 阅读(334) 评论(2) 推荐(0)
摘要: 新人刚开始学习ASP.NET MVC,若有不足之处希望能得到您的指点,不胜感激! 先来一张项目的层级结构图: Model:模型层,主要是各种类型、枚举以及ORM框架,框架完成数据库和实体类的映射。项目中选用了微软的开源ORM框架 EntityFramework 6.0 (以下简称EF),数据库则选择了微软的轻量级数据库S... 阅读全文
posted @ 2016-09-16 18:14 玮仔Wayne 阅读(692) 评论(6) 推荐(2)
摘要: Internet上的一些站点常常存在着镜像网站(mirror),即两个网站的内容一样但网页对应的域名不同。这样会导致对同一份网页爬虫重复抓取多次。为了避免这种情况,对于每一份抓取到的网页,它首先需要进入ContentSeen模块。该模块会判断网页的内容是否和已下载过的某个网页的内容一致,如果一致,则该网页不会再被送去进行下一步的处理。这样的做法能够显著的降低爬虫需要下载的网页... 阅读全文
posted @ 2016-09-13 20:00 玮仔Wayne 阅读(422) 评论(0) 推荐(0)
摘要: 为了便于使用及日后的扩展,将Scrapy简单封装为了Requester,具体代码如下: using System; using System.Collections.Generic; using Crawler.Common; namespace Crawler.Protocol { public class Requester { priv... 阅读全文
posted @ 2016-09-13 00:26 玮仔Wayne 阅读(255) 评论(0) 推荐(0)