摘要: 上篇提到DateTime的显示格式,忽略了一个重要元素--时区。多时区用户的项目的时间显示问题常常被人诟病,一旦时间跟金钱挂钩,出了问题就不是客服投诉骂两句那么简单了。那么究竟怎样才能构建一个满足多时区用户的项目呢?这要先从时区说起。时区知多少如图,全球被划分为24个时区,0时区为基准,每个时区相隔1小时,往东则加时间,往西则减时间,这种记时方式成为UTC(协调世界时)。比如北京在东边第八个时区,简称东八区,而东八区可简写为“UTC +8”。在人类科技尚不发达的早期,人们用天文学知识计算时区时间,称为GMT(格林威治时间)。这种方式略有误差,但日常生活并不影响,后来随着科技的进步渐渐被UTC取 阅读全文
posted @ 2012-12-21 13:34 许两会 阅读(5227) 评论(5) 推荐(5) 编辑
摘要: 简单来说,所谓注册组件,就是注册类并映射为接口,然后根据接口获取对应类,Autofac将被注册的类称为组件。 虽然可像上篇提到的一次性注册程序集中所有类,但AutoFac使用最多的还是单个注册。这种注册共有三种方式,其中最简单的就是用As方法,例如,ArrayList继承了IEnumerable接口,若将其注册到Autofac中,写法如下所示: ContainerBuilder b... 阅读全文
posted @ 2012-12-12 03:03 许两会 阅读(7539) 评论(13) 推荐(13) 编辑
摘要: 任何项目,难免会碰到DateTime的显示问题,.net框架虽提供丰富多样的显示方法,但我很少使用,因老忘记细节,每次都要纠结到底月份在前还是年份在前;日期分隔符到底是“/”,还是“\”,还是“-”等等。因此,每逢日期显示,我的写法通常类似下面代码所示,这样能根据需求取舍,随心所欲的控制显示格式、顺序,也不用纠结分隔符到底是什么了,且ToString方法中,每个字符表示对应单词的首字母,并不难记。DateTime dt=new DateTime(2012,12,6,13,19,0); dt.ToString("yyyy-MM-dd hh:mm:ss tt zz"); // 阅读全文
posted @ 2012-12-06 15:55 许两会 阅读(15543) 评论(12) 推荐(12) 编辑
摘要: 经过上篇蜻蜓点水的介绍后,本篇通过实例快速上手autofac,展示当asp.net mvc引入了autofac之后会带来什么。 创建Asp.net MVC并引入Autofac 首先,创建一个MVC站点,为方便起见,选初始带HomeController和AccountController的那种。然后通过NuGet或到Autofac官网下载来引入类库。个人推荐前者,因为从VS2010开始,已内集可... 阅读全文
posted @ 2012-11-28 13:54 许两会 阅读(18469) 评论(19) 推荐(22) 编辑
摘要: 前言第一次接触Autofac是因为CMS系统--Orchard,后来在一个开源爬虫系统--NCrawler中也碰到过,随着深入了解,我越发觉得Ioc容器是Web开发中必不可少的利器。那么,Ioc容器是用来做什么的?用了有什么好处?我相信如果不明白这两点就很难敞开心扉接受Ioc容器。传统解耦设计的弊端为方便描述,举个日志的栗子。我简化实现,一个Log类,一个SaveLog方法。如果其他类想拥有记日志功能,那么只需在内部包含一个Log类型的变量:publicclassLog { publicvoid SaveLog(string message) { // save log here. } } . 阅读全文
posted @ 2012-11-21 02:16 许两会 阅读(16554) 评论(25) 推荐(27) 编辑
摘要: 前两天看了篇不错的关于javascript写法的文章。在评论里,不少人表示看不懂最后一种方法,作者也没详细说明,于是我顺势解说,算是沾点人气。 代码如上图,整体结构模仿jQuery,代码不长,知识点较多,信息量很大,我们分两部分,逐行解释。 第一部分 第一部分中,我们把extend相关的方法抽离,剩 阅读全文
posted @ 2012-05-04 01:48 许两会 阅读(7460) 评论(21) 推荐(23) 编辑
摘要: 这是一篇关于XSS攻击的文章,前阵子看到一篇关于博客园找找看XSS漏洞的文章,我研究了一下,发现事隔三个月,漏洞还在,不知为何。漏洞分析用一下找找看的搜索功能就容易发现,搜索功能往url中传递了两个参数名“w”和“t”,输入框对应“w”,搜索分类对应“t”。看不到t参数的,点击一下搜索框上的分类链接就会找到。按常理,输入框是最容易发生攻击的地方,因此找找看也作了防护。根据我的测试,至少有如下两种防护措施:正则表达式匹配并删除字符串包含”<script></script>”的部分。服务器端对输入字符串长度做了限制。虽说方法并不完美,但两个加一起的确可以达到防护目的。参数“ 阅读全文
posted @ 2012-04-25 03:52 许两会 阅读(6954) 评论(10) 推荐(20) 编辑
摘要: 前阵子发现公司的网站有SQL注入漏洞,向项目经理提了以后,得到的答复异常的冷淡:“早就知道,这种asp的网站肯定有漏洞,要是Asp.net的网站就没问题”,先暂不评价此说法对错,如此冷淡的反应只能说明了对SQL注入的无知,今天就实况转播,来告诉大家SQL注入究竟有多大的危害。初步注入--绕过验证,直接登录公司网站登陆框如下:可以看到除了账号密码之外,还有一个公司名的输入框,根据输入框的形式不难推出SQL的写法如下:SELECT * From Table WHERE Name='XX' and Password='YY' and Corp='ZZ' 阅读全文
posted @ 2012-03-31 03:07 许两会 阅读(47830) 评论(88) 推荐(75) 编辑
摘要: 不知有多少人像我一样,几年web开发,无数js代码,调试脚本却只会alert方法。不知有多少人像我一样,一个简单方法,开发中却需不断alert以确保数值正确,一步一alert,处处都alert,每次都alert到浏览器看不下去,跳出来阻止。如果你确实苦逼如我,今天看到这篇文章算你福气啦,哥现身说法,教你如何摆脱alert的噩梦。调试利器--console.log如今主流浏览器(Chrome,IE8及后续版本,FireFox,Opera等)都支持控制台功能。Chrome:IE9:FireFox(需安装FireBug插件)当在js代码中调用Console.log方法时,相应的信息就会在控制台中显示 阅读全文
posted @ 2012-03-26 03:53 许两会 阅读(10970) 评论(45) 推荐(27) 编辑
摘要: 前言这不是一篇描述asp.net生命周期的文章,仅仅是关于IIS操作的。在我们开始之前,先了解这些会有助于对全文的理解,同时欢迎反馈和建议。什么是Web Server?每当我们通过VS运行ASP.NET网站时,VS集成的ASP.NET引擎会响应各种请求,这个引擎的名字叫“WebDev.WebServer.exe”。当我们配置一个Web程序时,总会涉及到一个词“Web Server”,它的功能便是会响应所有请求。什么是IIS?IIS(Internet Information Server)是微软Web Server的一种,用来配置ASP.NET站点。IIS拥有自己的ASP.NET处理引擎来处理请 阅读全文
posted @ 2012-03-23 16:56 许两会 阅读(2731) 评论(9) 推荐(12) 编辑