知识大全 关于“验证码的制作”的一些补充

Posted 文件

篇首语:怀抱观古今,寝食展戏谑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于“验证码的制作”的一些补充相关的知识,希望对你有一定的参考价值。

    上次写了点关于验证码制作的代码 算是学习了Drawing中的一些东西 心里很快活 也乐意为大伙儿做些善事 于是便萌发了把验证码封装成简单的控件发布出去的念头 起初是用ashx(一般处理程序 俗称Httphander)的做法 OK 在WebForm和MVC两种情况下毫无问题 代码很简单 假设把ashx放在程序根目录 那么你就在页面中对应弄上一个img即可         <img src= /Image req />        这样生成img标签自动也会请求这个handler 生成图片(不要忘记配置handler就可以了)         然后我想到要做一个dll 因为总觉得把ashx发布出去不是很正规(别人都是发布dll的嘛 呵呵) 于是我自己创建了一个类库(ClassLibrary) 创建对应的类 实现了IHttpHandler和IRequiresSessionState(拷贝原先ashx中正确的代码 也就是上一篇的代码全部) 然后编译成dll组件 在nfig的<Handlers>进行恰当的配置         <configuration>        <system web>        <! Httphandler s configuration here…… >        <Handlers>        <add path= * req verb= * type= TestLibrary DrawImage />        </Handlers>        ……        然后在WebForm和MVC中同时实验 结果很奇怪 在WebForm一切照旧正常 可是MVC程序中死活就是红叉叉报错(显示不出图片 郁闷中……)        后来多方请教 直到遇到了大神imran_ku 之后我才恍然大悟(看到/t/ aspx这篇类似的问题) 原来当你写 /Image req 的时候 默认路由就会按照 Controller/Action/DefaultOptionalValue 去匹配 这样的话 Controller就变成了 Image req 自然没有这个Controller 然后自然报错(图片无法出来)         解决办法就是让这个路径不要通过默认的Route方式解析 使用IgnoreRoute方式排除这个路径(粗体)         [C#]        public class MvcApplication : System Web HttpApplication                public static void RegisterRoutes(RouteCollection routes)                routes IgnoreRoute( resource axd/*pathInfo )         routes IgnoreRoute( resource req/*pathInfo )         routes MapRoute(        Default // 路由名称        controller/action/id // 带有参数的 URL        new controller = Default action = Index id = UrlParameter Optional // 参数默认值        )                 protected void Application_Start()                AreaRegistration RegisterAllAreas()         RegisterRoutes(RouteTable Routes)                         [VB NET]        Public Class MvcApplication        Inherits System Web HttpApplication        Public Shared Sub RegisterRoutes(routes As RouteCollection)        routes IgnoreRoute( resource axd/*pathInfo )        routes IgnoreRoute( resource req/*pathInfo )        路由名称        带有参数的 URL        参数默认值        routes MapRoute( Default controller/action/id New With _        ntroller = Default _        Key action = Index _        Key id = UrlParameter [Optional] _        )        End Sub        Protected Sub Application_Start()        AreaRegistration RegisterAllAreas()        RegisterRoutes(RouteTable Routes)        End Sub        End Class        这样一来 果然在ASP mvc中也可以咯!神啦!        福无双至 祸不单行 下午某时有个中软的程序员找我询问关于如何屏蔽MVC插件的事情(它的项目根目录有plugin文件夹 然后里边有大量其它重要文件 现在不想要别人访问) 我想了以下 给了两个解决方案         )在根目录nfig中配置如下(相对于根目录的子目录 plugin中后面子文件夹和文件均无法访问)        <system web>        <Handlers>        <add path= /plugin/* verb= * type= System Web HttpNotFoundHandler />        </Handlers>        ……        )拷贝一个nfig文件到plugin文件夹中 然后这样配置(表示当前文件夹中所有子文件夹和文件均无法访问)        <system web>        <Handlers>        <add path= * verb= * type= System Web HttpNotFoundHandler />        </Handlers>        ……        他的问题是解决了 我又冒出新问题了 既然MVC可以通过 //localhost/文件夹名/文件 的形式直接访问文件 那么它为什么不会把 文件夹名 解析成Controller 文件 解析成Action呢?我猜想如下         )任何网页程序默认 潜规则 解析是根据地址栏输入的虚拟路径寻找对应的文件(传统ASP NET Web也不例外) 因此MVC也有此潜规则 如果地址栏输入的虚拟路径恰好可以映射找到真实的文件 那么直接返回结果 就不会在Route了         )如果找不到         )尝试Route(按照默认或者其它定义规则//localhost/Controller/Action/DefaultOptionalParameter)进行解析         )如果解析成功 那么返回Action中对应的View 解析失败 抛出异常         )如果某个请求地址(比如Image req纯粹是一个ashx请求 真实文件路径均不存在) 直接使用Route规则匹配肯定错误 此时你就应该告知系统 这是例外 (用IgnoreRoute即可) cha138/Article/program/net/201311/12959

相关参考

知识大全 大学里关于跟着老师做专案的相关疑问,我是计算机专业的大三学生,见问题补充。

前辈指点:大学里关于跟着老师做专案的相关疑问,我是计算机专业的大三学生,见问题补充。。。大三是关键时期,导师招人应该不会对你的专业知识有很高要求,一般他会让你先了解实验室工作的基础知识,这方面相信你已

企业补充医疗保险费可否税前扣除?

企业已为职工缴纳了基本医疗保险,并根据《国务院关于印发完善城镇社会保障体系试点方案的通知》(国发[2000]42号)第四条第(四)项以及《财政部劳动保障部关于企业补充医疗保险有关问题的通知》(财社[2

立法是指特定的法律籍贯,依据法定的职权和程序,指定、修改、补充、废止和解释法律、法规的活动。下列关于立法机关和立法职权说

立法是指特定的法律籍贯,依据法定的职权和程序,指定、修改、补充、废止和解释法律、法规的活动。下列关于立法机关和立法职权说法正确的是_____。A、全国人大及其常委会拥有国家立法权B、民族自治地区的自治

知识大全 常见的wireless名词整理

  本文提供了一些常见的wireless名词解释学习JME了解一些相关的无线科技是很必要的网上关于wireless的资料很多但也很杂乱本文试图提供一个方便的参考如果有什么不妥的地方或是你想补充什么内容

牛皮癣患者特别要注意蛋白质的补充

补充蛋白质对于牛皮癣患者是必须要做的。牛皮癣患者的典型症状之一就是大量脱屑,而脱出去的皮屑会带去人体很多的蛋白质,因此牛皮癣患者多补充一些蛋白质是很重要的。但是这牛皮癣患者在补充蛋白质时要注意一些问题

牛皮癣患者特别要注意蛋白质的补充

补充蛋白质对于牛皮癣患者是必须要做的。牛皮癣患者的典型症状之一就是大量脱屑,而脱出去的皮屑会带去人体很多的蛋白质,因此牛皮癣患者多补充一些蛋白质是很重要的。但是这牛皮癣患者在补充蛋白质时要注意一些问题

补充养老保险和补充医疗保险是否属于职工福利费范畴?

根据《财政部、国家税务总局关于补充养老保险费、补充医疗保险费有关企业所得税政策问题的通知》(财税[2009]27号)规定,企业缴纳补充养老保险、补充医疗保险在企业所得税前扣除的标准为在职职工工资总额的

我国企业补充养老保险的现状和存在的问题

我国企业补充养老保险的现状和存在的问题在我国,企业补充养老保险于20世纪80年代开始在部分企业试行。1995年,原劳动部发布了《关于建立企业补充养老保险制度的意见》,对企业补充养老保险进行了初步的政策

企业给职工支付的补充养老保险费、补充医疗保险费可否在税前扣除?

根据财政部、国家税务总局《关于补充养老保险费补充医疗保险费有关企业所得税政策问题的通知》(财税〔2009〕27号)规定,自2008年1月1日起,企业根据国家有关政策规定,为在本企业任职或者受雇的全体员

企业为员工支付补充医保如何缴付个人所得税?

我单位今年为企业员工按1500元/年.人标准向保险公司支付补充医保,根据《国家税务总局关于单位为员工支付有关保险缴纳个人所得税的批复》(国税函[2005]318号)规定,根据个人所得税法及有关规定,对