代码改变世界

初探Razor视图引擎

2010-07-21 17:18 by Ninja_Lu_Fake, 8106 阅读, 收藏, 编辑
摘要:前一段时间,ScottGu在博客上发表了一些有关WebMatrix的文章,其中提到了一个新的ASP.NET视图引擎——Razor。Razor有着非常简单和干净的语法,但是不管怎么样,它毕竟只是一个表现层面的东西,其底层仍然使用ASP.NET,与平时的开发没有什么大的区别,唯一的区别在于:视图的简洁。安装使用Razor需要安装 Microsoft ASP.NET Web Pa... 阅读全文

.NET 4中的并行编程(下)

2010-04-20 08:12 by Ninja_Lu_Fake, 2755 阅读, 收藏, 编辑
摘要:接上篇。上一次主要讨论了在.NET 4中如何编写并行程序,这次继续上次的话题。 当我们有能力使用前面所介绍的一些结构来构建我们的应用程序时,一个需要考虑的场景是:假如一个并行过程已经开始,在它没有完成前想取消它的话应该怎么做呢?其实这个问题很现实,在多线程程序中也会遇到,当然了,多线程编程时我们可以用Thread.Abort()来终结它,那么在并行中该如何实现呢?老规矩,上Demo: CancellationTokenSource tokenSource = new CancellationTokenSource();CancellationToken token = tokenSource. 阅读全文

.NET 4中的并行编程(上)

2010-04-19 06:46 by Ninja_Lu_Fake, 3642 阅读, 收藏, 编辑
摘要:并行是.NET 4中新加入的特性,为了使程序在多核心多CPU环境运行的更好、更快、更强大。 前面已经说过了,并发和并行是不一样的,并发最多可以算做是多线程,而所谓并行是将任务分散到不同的CPU上同时执行。尤其值得我们关注的是,在Web环境下的先天并行特性,使得并行编程成为解决性能瓶颈的又一武器。 .NET 4中的并行编程主要是Parallel和Task,微软强势构建了TPL(Task Para... 阅读全文

.NET 4在CLR和BCL的一些变化(3)

2010-04-12 22:25 by Ninja_Lu_Fake, 2190 阅读, 收藏, 编辑
摘要:VS2010正式版发布了,从海报中我们可以看到.NET 4在BCL上的改进还是很大的,这一次主要讨论比较Core的变化。 就照海报的顺序说吧。 System.Collections.Generic .NET 4中新加入了名为SortedSet<T>的结构,这是一个很有用的结构,它在内部维护一个集合,使用Add()向SortedSet<T>中添加已存在的项时会被忽略,并且返... 阅读全文

.NET 4在CLR和BCL的一些变化(2)

2010-04-12 12:41 by Ninja_Lu_Fake, 2564 阅读, 收藏, 编辑
摘要:上一篇讨论了.NET 4中关于垃圾回收、线程、并行、全球化等方面的内容,这次我们接着上次往下说。安全 安全是一个很大的概念。在.NET 4中,主要的改进在于对CAS操作的简化。 先前的版本中,如果想要控制资源的安全访问,那么就会使用CAS策略,但是操作往往很复杂,4改进了操作,主要体现在这些方面: 改进的透明模型。透明模型将代码分为了安全、不安全、或许安全,当然,这取决于程序宿主机的设置。于是.N... 阅读全文

.NET 4在CLR和BCL的一些变化(1)

2010-04-11 14:41 by Ninja_Lu_Fake, 3216 阅读, 收藏, 编辑
摘要:VS2010明天就要发布了,伴随而来的是.NETFramework第四个版本的发布,借这个机会,聊聊相对于3.5,4又多了哪些新的特性。 我们知道,.NETFramework是一个渐近发展的框架,自从2.0开始,框架底层本身并没有太大的变化,CLR的版本都是2.0的,4的发布是一个质飞跃,微软直接跳过了CLR3.0的版本而将.NETFramework的版本更新为4,如此看来,先前3.0,3.5的程... 阅读全文

.mht和.chm文件打不开的解决方法

2010-01-20 20:19 by Ninja_Lu_Fake, 2971 阅读, 收藏, 编辑
摘要:先引入这两种文件: .mht IE保存的文件格式,也不知道是什么版本开始成为默认的网页保存格式。 .chm 不用解释了吧。 情况是这样:双击.mth文件打不开,双击.chm文件打开后无法显示。 怎么办呢? 仔细检查了一下,发现了一些问题:文件名中是包含了一些特殊的字符,例如文件名为“C#测试.mht”,这样的话就会出现上述的问题。 为了进一步研究,尝试用正常的文件名,但是将... 阅读全文

Managed Or Unmanaged?

2009-11-07 21:05 by Ninja_Lu_Fake, 332 阅读, 收藏, 编辑
摘要:Is Managed Code Slower Than Unmanaged Code? Ask anyone the question above and they will say that managed is slower than unmanaged code. Are they right? No they are not. The problem is that when most p... 阅读全文

委托和事件的区别

2009-10-26 00:25 by Ninja_Lu_Fake, 312 阅读, 收藏, 编辑
摘要:委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件... 阅读全文