摘要: Cache 线程安全,相当于static Arraylist。缓存过期机制1、设置过期时间 a、可设置过期时间Cache.Insert("wichell", "wichell", null , DateTime.MaxValue, TimeSpan.FromMinutes(10));//设置10分钟过期 b、绝对过期时间Cache.Insert("wichell", "wichell", null ,DateTime.Now.AddMinutes(60), TimeSpan.Zero);//固定一个小时过期2、设置 阅读全文
posted @ 2014-01-09 10:55 潇湘〃细雨 阅读(798) 评论(1) 推荐(0) 编辑
摘要: windows SEVER包:http://code.google.com/p/servicestack/wiki/RedisWindowsDownloadwindows仅用来测试,性能不如在linux下高.c#使用:引用的ServiceStackRedis:https://github.com/mythz/ServiceStack.Redis[csharp]view plaincopystaticvoidMain(string[]args){varRedis=newRedisClient("127.0.0.1",6379);//redis服务IP和端口#region=in 阅读全文
posted @ 2013-06-23 21:23 潇湘〃细雨 阅读(525) 评论(0) 推荐(1) 编辑
摘要: 近日做报表,需要实现一个比较特殊的打印:针对不同患者的药费记录,打印不同的清单,并且支持一次打印多个患者的记录。其效果看起来应该像下面这个样子:如上所述,使用弱智的水晶报表,就会遇到如何构造数据源的问题,由于不同患者的药费记录和遗嘱记录都不同,而且整体上需要一个患者一个清单,所以其数据源只能为一个数组,而不是简单的DataTable。小弟一向对大且笨拙的CrystalReport不感冒,再加上对GDI+比较痴迷,索性费点功夫,使用GDI+来打印上述报表。首先需要构造数据源,创建一个ArrayList对象a,然后再把每个患者需要打印的东东保存为一个ArrayList放入ATotal中。if( a 阅读全文
posted @ 2012-04-09 12:01 潇湘〃细雨 阅读(1059) 评论(2) 推荐(0) 编辑
摘要: N多年前微软官网曾发了.Net下必备的十种工具,N多年过去了,世异时移,很多东西都已经变化了,那个列表也似乎陈旧了。而且,该文也只是对十种工具独立的介绍,显得有些罗列的感觉,是不是每个工具都是同等重要,工具与工具之间是否有联系?等等,阐述得并不明确。这里,我想从另一个角崖,重新归纳一个更新的更实际的武器库。更新,是因为有很多最近几年才出来的工具/框架库,更实际,是因为我自己的项目就完全依赖使用。Visual Studio这个似乎是不言而喻的,只是从严谨的角度,也列在这。实际上,现在也有一个开源的IDE开发环境发展也不错,叫SharpDevelop。我并没有仔细看,不敢妄评。而我因要用到之后会讲 阅读全文
posted @ 2012-04-04 18:04 潇湘〃细雨 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 说到马赛克,一些闷骚男都懂的,“有马”、“无马”,此马即马赛克简称,可别光往邪恶的一面想,马赛克也有和谐的一面,比如一些新闻之类的将关键不想展示给观众的给和谐掉,此即马赛克应用。 先看一张具有极低解析度的马赛克图案:看到一块块的同颜色块、或许你就能猜出其算法了。马赛克算法很简单,说白了就是把一张图片分割成若干个val * val像素的小区块(可能在边缘有零星的小块,但不影响整体算法,val越大,马赛克效果越明显),每个小区块的颜色都是相同的。为了方便起见,我们不妨让这个颜色就用该区域最左上角的那个点的颜色。当然还可以有其他方法,比如取区块中间点的颜色,或区块中随机点的颜色作代表等等。下面的示意 阅读全文
posted @ 2012-03-27 17:48 潇湘〃细雨 阅读(537) 评论(1) 推荐(0) 编辑
摘要: 一个Table,开始我们的钻研<tableid="DetailInfo"><tbody><tr><th > <input id="chbAll" type="checkbox" onclick="fnSelectAll(this);" /></th><th>标题1</th><th>标题2</th><th>标题3</th><th>标题4</th>< 阅读全文
posted @ 2012-03-27 13:31 潇湘〃细雨 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 目录1 IGame游戏公司的故事 1.1 讨论会 1.2 实习生小李的实现方法 1.3 架构师的建议 1.4 小李的小结2 探究依赖注入 2.1 故事的启迪 2.2 正式定义依赖注入3 依赖注入那些事儿 3.1 依赖注入的类别 3.1.1 Setter注入 3.1.2 Construtor注入 3.1.3 依赖获取 3.2 反射与依赖注入 3.3 多态的活性与依赖注入 3.3.1 多态性的活性 3.3.2 不同活性多态性依赖注入的选择4 IoC Container 4.1 IoC Container出现的必然性 4.2 IoC Container的分类 4.2.1 重量级IoC Contain 阅读全文
posted @ 2012-03-21 15:32 潇湘〃细雨 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 我们没有使用TDD,所以单元测试最麻烦的就是准备测试的基础数据。我们现在是使用内存仓储来做单元测试,要为每个仓储都构造基础数据,非常麻烦。前几天看xunit的源码,看到AutoRollbackAttribute这个特性,异常的兴奋 ^_^。怎么就忘了用事务的自动回滚呢?我们看AutorollbackAttribute的具体实现:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657public class AutoRollbackAttri 阅读全文
posted @ 2012-03-14 23:49 潇湘〃细雨 阅读(444) 评论(0) 推荐(1) 编辑
摘要: ASP.NET对请求处理的过程:当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,处理完毕将结果返回客户端。inetinfo.exe进程:是www服务的进程,IIS服务和ASPNET_ISAPI.DLL都寄存在此进程中。ASPNET_ISAPI.DLL:是处理.aspx文件的win32 阅读全文
posted @ 2012-03-12 16:10 潇湘〃细雨 阅读(299) 评论(0) 推荐(0) 编辑
摘要: ASP.NET由于采用了管道式设计,具有很好的扩展性,而整个ASP.NET MVC应用框架就是通过扩展ASP.NET实现的。通过上面对ASP.NET管道设计的介绍,我们知道ASP.NET的扩展点只要体现在HttpMoudle和HttpHandler这两个核心组建之上,实际上整个ASP.NET MVC框架就是通过自定义的HttpMoudle(UrlRoutingModule)和HttpHandler(MvcHandler)实现的。为了上读者从整体上把握ASP.NET MVC的工作机制,接下来我按照其原理通过一些自定义组件来模拟ASP.NET MVC的运行原理,我们也可以将此视为一个“迷你版”的A 阅读全文
posted @ 2012-03-11 23:14 潇湘〃细雨 阅读(658) 评论(1) 推荐(0) 编辑