上一页 1 ··· 271 272 273 274 275 276 277 278 279 ··· 360 下一页
摘要: 这是一个系列,这是一个一看就叫人兴奋的东西,你的项目是否会有一些通用的核心组件,它在跨项目方面是否很方便,它在自身的扩展性上是否灵活,它的代码的优雅度是否有一个标准,它的代码是否严谨,这些将在这个系列中给大家进行介绍。AOP不是一个新东西,它对项目进行横向切割,它是对面向对象OOP的补充,对于通用的模块我们可以使用AOP的编程思想来干这事会比较好,世事上,在小微的世界里有很多牛X的开源项目都使用了AOP的思想,如orchard,注意我说的是思想,就是说,你,我,他所实现的AOP方式是不同的,这很容易理解。事实上,我们这个系列的文章主要是在讲Orchard Framework这个层次,下面看一下 阅读全文
posted @ 2013-01-14 16:36 张占岭 阅读(1163) 评论(3) 推荐(8) 编辑
摘要: 回到目录在程序中,为了保正代码的严禁性我们会在需要的地方加个try...cache块,作用是对一个已知或者未知的异常进行捕获,这是正常的,任何一种面向对象的语言都提供了这个基础的功能,C#也不例外,事实上这篇文章的重要是,对于比较深度的方法调用中,异常被抛出的顺序。下面代码块中,WEB层调用BLL层方法,而BLL层方法去调用DAL层方法,而在这三个层的三个方法中都加了try...catch块,而在BLL与DAL中我会故意让程序产生一个已知的异常,并进行捕获,最后进行日志的写入。看代码: 1 static void DAL() 2 { 3 int a = 0; 4 ... 阅读全文
posted @ 2013-01-12 22:48 张占岭 阅读(943) 评论(0) 推荐(2) 编辑
摘要: 回到目录这可能并不是一个问题,因为它很多时间会被我们所忽视,我们在开发时,在页面上使用一个对象的一个属性,当对象被new后,可能还没有赋值也可能返回给它的值为null,那这时使用它里面的属性,它会抛System.NullReferenceException吗?当我们对象不为null,我们使用这个对象的子对象,这个子对象如果为null,使用它的属性,它会抛System.NullReferenceException吗?这是一个看似简单的问题,但对于它的结果可能我们一时并不能确定,还是用机器来证明它吧两个类型:1 /// <summary>2 /// 小u3 ... 阅读全文
posted @ 2013-01-10 17:32 张占岭 阅读(802) 评论(0) 推荐(1) 编辑
摘要: 回到目录很多时间之长,我写了EF架构~性能高效的批量操作(Insert篇),而今天我把Update篇也写一下,这对于批量处理数据很有帮助,它解决了EF与linq to sql批量更新数据上的效率问题。对于EF架构中的批量更新操作,需要我们为实体的导航属性进行手动的标示,因为EF生成的实体中没有一个特殊的说明,所以,我们必须要告诉系统,哪个属性是导航属性,而导航属性是我们不去进行update的。1 /// <summary>2 /// 属性的导航属性3 /// </summary>4 public class NavigationAttribute : Attrib... 阅读全文
posted @ 2013-01-10 16:46 张占岭 阅读(28126) 评论(11) 推荐(8) 编辑
摘要: 回到目录一般来说,在T-SQL时代,随机排序可以进行newid()产生出guid值来实现,代码一般为:SELECTTOP10*FROM User ORDERBYNEWID();而到了linq to sql时代,由于产生的语句为延时的(可能是这个原因),所以你用类似这代码:from user in db.User order by Guid.NewID() select user 是不能实现的,这时,如果你的linq to sql非要找个实现的方法,可以在当前数据上下文类中,加个函数:(注意,我们为了扩展性,最要新建一个分部来做这事) 1 /// <summary> 2 /// 数据 阅读全文
posted @ 2013-01-06 17:30 张占岭 阅读(1586) 评论(0) 推荐(1) 编辑
上一页 1 ··· 271 272 273 274 275 276 277 278 279 ··· 360 下一页