上一页 1 ··· 301 302 303 304 305 306 307 308 309 ··· 390 下一页
摘要: 回到目录在程序中,为了保正代码的严禁性我们会在需要的地方加个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 张占岭 阅读(959) 评论(0) 推荐(2)
摘要: 回到目录这可能并不是一个问题,因为它很多时间会被我们所忽视,我们在开发时,在页面上使用一个对象的一个属性,当对象被new后,可能还没有赋值也可能返回给它的值为null,那这时使用它里面的属性,它会抛System.NullReferenceException吗?当我们对象不为null,我们使用这个对象的子对象,这个子对象如果为null,使用它的属性,它会抛System.NullReferenceException吗?这是一个看似简单的问题,但对于它的结果可能我们一时并不能确定,还是用机器来证明它吧两个类型:1 /// <summary>2 /// 小u3 ... 阅读全文
posted @ 2013-01-10 17:32 张占岭 阅读(843) 评论(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 张占岭 阅读(28221) 评论(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 张占岭 阅读(1636) 评论(0) 推荐(1)
摘要: 下面程序主要讲的是有一个大对象people,它有两个子对象html和video,这两个子对象都有方法play,并都有参数x,而x在这个play方法中需要被加工,而这两个子对象对于x参数的加工逻辑是相同的,为了不让代码重复,所以就抽象出一个init的方法,用来处理这种共同的逻辑。 1 <script> 2 var url; 3 var people={ 4 init:function(x){ 5 return x}, 6 html:{ 7 play:function(x){alert(people.init(x));} 8 }, 9 video:{10 play:function(. 阅读全文
posted @ 2013-01-05 23:29 张占岭 阅读(681) 评论(1) 推荐(1)
上一页 1 ··· 301 302 303 304 305 306 307 308 309 ··· 390 下一页