摘要: 延迟加载,亦称延迟实例化,延迟初始化等,主要表达的思想是,把对象的创建将会延迟到使用时创建,而不是在对象实例化时创建对象,即用时才加载。这种方式有助于提高于应用程序的性能,避免浪费计算,节省内存的使用等。针对于这种做法,似乎称之为即用即创建更为合适些。先来看一下在Framework4.0中如何实现延迟加载。Framework4.0提供了一个包装类Lazy<T>,可以轻松的实现延迟加载。 ///这行代码表明:要创建一个延迟加载的字符串对象s ///原型为Lazy<T> 对象名=new Lazy<T>(Fun<T>) ///采用泛型委托进行构造,实例 阅读全文
posted @ 2011-04-27 18:19 hanmos 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 在多线程或单线程任务中,让线程带传入参数一直是个麻烦的问题,通常有种方法就是以类,对像的变量来传参数,这种方法理解上很简单不过在某些场合使用很麻烦,这里就不介绍了,我们主要介绍一种.NET2.0中新增加的带参数运行线程的方法,示例程序如下:ParameterizedThreadStartParStart = newParameterizedThreadStart(ThreadMethod);Thread myThread = new Thread(ParStart);object o ="hello";myThread.Start(o);ThreadMethod如下:pub 阅读全文
posted @ 2011-04-27 10:34 hanmos 阅读(2395) 评论(0) 推荐(0) 编辑
摘要: SQL Server 2008将包含用于合并两个行集(rowset)数据的新句法。根据一个源数据表对另一个数据表进行确定性的插入、更新和删除这样复杂的操作,运用新的MERGE语句,开发者用一条命令就可以完成…… SQL Server 2008将包含用于合并两个行集(rowset)数据的新句法。根据一个源数据表对另一个数据表进行确定性的插入、更新和删除这样复杂的操作,运用新的MERGE语句,开发者用一条命令就可以完成。 对两个表进行信息同步时,有三步操作要进行。首先要处理任何需要插入目标数据表的新行。其次是处理需要更新的已存在的行。最后要删除不再使用的旧行。这个过程中需要维护大量重复的逻辑,并. 阅读全文
posted @ 2011-04-27 10:32 hanmos 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1. 案例起因 公司门店应用程序每天都要出一份报表,用来统计所有商品当天的期初库存数量、入库数量、出库数量 及当天的期末库存数量。运行半年以后,这份报表运行越来越慢,到现在,每次运行该报表显示当天数据时需要近20秒的时间。于是开发人员找到我,希望我看看,是不是可以使该报表运行的时间更短。 该报表就是一段SQL语句,主要由三部分组成,第一部分是计算每个商品的期初数量,第二部分是计算每个商品的当天发生(包括入库和出库的)数量,第三部分是计算每个商品的期末数量,也就是当天的余额。每个部分使用UNION ALL连接起来。 我看到该报表,第一个感觉就是这段SQL里的每个部分都要对表进行扫描,明显成本过高 阅读全文
posted @ 2011-04-27 10:29 hanmos 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 所有Select加 With (NoLock)解决阻塞死锁,在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点: 对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻辑是否能容忍出现或者不出现某些记录,而不是寻求对双方都加锁条件下如何解锁的问题。 NOLOCK 和 READPAST 都是处理查询、插入、删除等操作时候,如何应对锁住的数据记录。但是这时候一定要注意NOLOCK 阅读全文
posted @ 2011-04-13 10:54 hanmos 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 大家做项目开发一般都是分层的,比如UI层,业务层,数据访问层。业务层引用数据访问层的DLL(比如dataAccess.dll),并使用dataAccess.dll中的方法。当项目完成并给客户用了,可有些心里BT的客户这个时候也可以请个稍微懂NET的人来引用你的dataAccess.dll并调用其中的方法搞破坏。比如可以直接使用里面的ChangePwd(string UserName,stringPwd)方法把其他用户的密码改了,这个时候就你就.......好了,该开始说怎么保护我们的代码了:首先我们需要把我们的程序集做成强命名的程序集。这里我们在.NET 命令提示中输入sn-k c:\test 阅读全文
posted @ 2011-04-11 10:19 hanmos 阅读(1552) 评论(0) 推荐(0) 编辑
摘要: 【文章标题】: 静态分析+代码片断+十六进制编辑 破解Spices.net v5.1 --- 试谈.net程序的破解【文章作者】: dreaman【作者邮箱】: dreaman_163@163.com【作者主页】: http://dreaman.haolinju.net【软件名称】: Spices.net v5.1【软件大小】: 6788KB【下载地址】: http://www.9rays.net/download.aspx【加壳方式】: 无【保护方式】: 无【编写语言】: 未知【使用工具】: reflector,research.net,dis#,SnippetCompiler,ildasm 阅读全文
posted @ 2011-04-11 10:06 hanmos 阅读(1514) 评论(0) 推荐(0) 编辑
摘要: 前面三节讲了控件的构造、呈现和数据绑定,我想该差不多了。本想讲一个自定义控件来终结控件部分,但是我个人不太喜欢控件这些东西,所以也就懒的写相关的内容,抱歉了。虽然我不喜欢使用控件,但我还是喜欢整个WebForm的设计。一个字:“太神了”。前面章节将Page生命周期的时候有朋友评论说内容太少了,今天开始就从来围绕生命周期的话,讲讲相关的内容吧。 IHttpModule是个什么东西呢?对我们Web开发有什么用呢? 先从名字来看他是一个接口,接口就是让人来继承的,我们要用它就得继承他,并实现他的方法。Module的意思是模块、组件的意思。如果说我们实现了这个接口,并配置了web.config,让I. 阅读全文
posted @ 2011-04-11 09:36 hanmos 阅读(1059) 评论(0) 推荐(0) 编辑
摘要: goshawk(39212766) 11:21:28企业应用的移动化,,大家怎么看goshawk(39212766) 11:21:51随着智能终端,手机的流行,是否快到来北京-阳子<15901244262@163.com> 11:21:57那相当给力goshawk(39212766) 11:22:09这也是个趋势。。goshawk(39212766) 11:22:22特别是决策,统计,实时信息。。北京-阳子<15901244262@163.com> 11:22:31我朋友在用友华表,现在他们已经开发出来了,直接将数据推送到手机客户端goshawk(39212766) 1 阅读全文
posted @ 2011-04-09 11:54 hanmos 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 网站开发人员应该知道的61件事原文网址:http://stackoverflow.com/questions/72394译者:阮一峰一、界面和用户体验(Interface and User Experience)1.1知道各大浏览器执行Web标准的情况,保证你的站点在主要浏览器上都能正常运行。你至少要测试以下引擎:Gecko(用于Firefox)、Webkit(用于Safari、Chrome和一些手机浏览器)、IE(你可以利用微软发布的Application Compatibility VPC Images进行测试)和Opera。同时,不同的操作系统,可能也会影响浏览器如何呈现你的网站。1.2 阅读全文
posted @ 2011-04-02 17:31 hanmos 阅读(140) 评论(0) 推荐(0) 编辑