代码改变世界

一起谈.NET技术,.NET中锁6大处理方法 悲观乐观自己掌握

2011-09-01 23:46 by 狼人:-), 366 阅读, 1 推荐, 收藏,
摘要:本文介绍了处理.NET中锁的6种方法,首先我们讨论一下并发性问题,然后讨论处理乐观锁的3种方法,乐观锁不能从根源上解决并发问题,因此后面我们介绍了悲观锁,最后介绍隔离级别如何帮助我们实现悲观锁,每个隔离级别都列举了示例进行说明,使得概念更加清晰。 我们为什么需要锁? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这就会产生冲突,这个就是著名的并发性问题。 图 1 并行性问题漫画 如何解决并发性问题? 借助正确的锁定策略可以解决并发性问题,资源被锁定后,其它进程想要访问它就会被阻止。 并发会造成什么样的冲突? 并发主要会导致四种常见的问题,详细情况... 阅读全文

一起谈.NET技术,详解ASP.NET4 GridView新增4大排序样式

2011-09-01 23:46 by 狼人:-), 322 阅读, 0 推荐, 收藏,
摘要:与ASP.NET 的其他Web控件一能够,Gridview控件拥有很多不同的CSS样式属性设置,包括象CssClass,Font字体,ForeColor,BackColor,BackColor, Width, Height等等。Gridview还包括了一些应用在表格的行上的样式属性,比如RowStyle, AlternatingRowStyle, HeaderStyle,和PagerStyle,它们都提供了象CssClass和Font这些基本的属性设置。 在ASP.NET 4.0中的Gridview控件中,新增加了四个样式属性:SortedAscendingHeaderStlye,S... 阅读全文

一起谈.NET技术,从数据到代码—通过代码生成机制实现强类型编程[下篇]

2011-09-01 23:46 by 狼人:-), 207 阅读, 0 推荐, 收藏,
摘要:在《上篇》中,我们实现了将保存有消息条目的XML向CodeDOM的转换,即是将XML文件生成一个CodeCompileUnit对象,而该CodeCompileUnit对象反映出来的DOM层次和我们将会生成的代码文件向匹配。在下篇中,我们将实现整个代码生成系统的第二个步骤——通过VS的Custom Tool实现数据(保存消息条目的XML)向代码文件的自动转换。 一、让MessageCodeGenerator继承BaseCodeGeneratorWithSite 在《上篇》我们创建了MessageCodeGenerator类,定义了如下一个BuildCodeObject方法实现将一个X... 阅读全文

一起谈.NET技术,NET下RabbitMQ实践 [WCF发布篇]

2011-09-01 23:46 by 狼人:-), 236 阅读, 0 推荐, 收藏,
摘要:在之前的两篇文章中,主要介绍了RabbitMQ环境配置,简单示例的编写。今天将会介绍如何使用WCF将RabbitMQ列队以服务的方式进行发布。 注:因为RabbitMQ的官方.net客户端中包括了WCF的SAMPLE代码演示,很适合初学者,所以我就偷了个懒,直接对照它的SAMPLE来说明了,算是借花献佛吧,呵呵。首先我们下载相应源码(基于.NET 3.0),本文主要对该源码包中的代码进行讲解,链接如下: Binary, compiled for .NET 3.0 and newer (zip) - includes example code, the WCF binding and ... 阅读全文

一起谈.NET技术,从数据到代码—通过代码生成机制实现强类型编程[上篇]

2011-09-01 23:46 by 狼人:-), 160 阅读, 0 推荐, 收藏,
摘要:我不知道大家对CodeDOM的代码生成机制是否熟悉,但是有一点可以确定:如果你使用过Visual Studio,你就应该体验过它带给我们在编程上的便利。随便列举三种典型的代码生成的场景:在创建强类型DataSet的时候,VS会自动根据Schema生成相应的C#或者VB.NET代码;当我们编辑Resource文件的时候,相应的的后台代码也会自动生成;当我们通过添加Web Reference调用Web Service或者WCF Service的时候,VS会自动生成服务代理的代码和相应的配置。总的来说,通过和VS集成的动态代码生成工具使我们可以“强类型”的方式进行编程,进而提供我们的效率并减低错.. 阅读全文

一起谈.NET技术,从数据到代码—基于T4的代码生成方式

2011-09-01 23:46 by 狼人:-), 318 阅读, 0 推荐, 收藏,
摘要:在之前写一篇文章《从数据到代码》(上篇、下篇)中,我通过基于CodeDOM+Custom Tool的代码生成方式实现了将一个XML表示的消息列表转换成了相应的C#代码,从而达到了强类型编程的目的。实际上,我们最常用的代码生成当时不是CodeDOM,而是T4,这是一个更为强大,并且适用范围更广的代码生成技术。今天,我将相同的例子通过T4的方式再实现一次,希望为那些对T4不了解的读者带来一些启示。同时这篇文章将作为后续文章的引子,在此之后,我将通过两篇文章通过具体实例的形式讲述如果在项目将T4为我所用,以达到提高开发效率和保证质量的目的。[这里有T4相关的资料][文中的例子可以从这里下载]。 .. 阅读全文

一起谈.NET技术,自动更新组件分享

2011-09-01 23:46 by 狼人:-), 259 阅读, 0 推荐, 收藏,
摘要:一. 摘要 前两天在博客上发布了一篇英文的自动更新组件文章Release a AutoUpdater tool,那么在这篇文章中,我们也对其功能进行一些简单说明,这个组件非常简单,所以大家可以下载进行一些改进。众所周知,对于一般的软件开发,在开始的时候都会有一个技术选型的阶段,最大的选型就是首先要确定是选择Client/Server模式还是Browser/Server模式。综合而论:两者各有优劣,在很多方面都不能被对方互相取代,如在适用Internet、维护工作量等方面,B/S比C/S要强很多;但在运行速度、数据安全、人机交互等方面,B/S就远不如C/S那么强大。所以综上所述,凡是C/... 阅读全文

一起谈.NET技术,.Net4.0 Parallel编程(二)Data Parallelism 中

2011-09-01 23:46 by 狼人:-), 153 阅读, 0 推荐, 收藏,
摘要:在上篇文章中看过了使用Parrallel.For、Parael.Foreach在效率上给我们带来的提高。本文就来如何终止循环、线程局部变量 进行说明。 Thread-Local Variables 首先我们来看下线程局部变量,是的我们也许一直在想我们如何去定义一个线程局部变量呢。先看段顺序执行的代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[TestMethod()]public void NormalSequenceTes... 阅读全文

一起谈.NET技术,.Net4.0 Parallel编程(三)Data Parallelism 下

2011-09-01 23:46 by 狼人:-), 199 阅读, 0 推荐, 收藏,
摘要:在上篇文章中介绍了如何Break、Stop循环,以及如何定义线程局部变量。在本文中介绍如何在外部去取消循环、以及异常的处理。 Cancel 在并行的循环中支持通过传递ParallelOptions参数中的CancellationToken进行取消循环的控制,我们可以CancellationTokenSource实例化之后传递给ParallelOptions对象Cancellation值。下面来看个示例: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighte... 阅读全文

一起谈.NET技术,ASP.NET MVC 3 Beta初体验之超酷的Chart

2011-09-01 23:46 by 狼人:-), 266 阅读, 0 推荐, 收藏,
摘要:前面一篇文章:ASP.NET MVC 3 Beta初体验之WebGrid介绍了WebGrid控件的使用,ASP.NET MVC 3 Beta中才内置Chart的。这篇文章中将介绍Chart的使用。包括Chart数据源的配置、Chart的显示、Chart保存三个方面。Chart是很多系统中使用,所以在ASP.NET MVC 3 Beta初体验之中介绍它是很有必要的。 1、配置Chart的数据源 给Chart配置数据源大概有三种方式。 第一种:使用数组 示例: Controller代码: Code highlighting produced by Actip... 阅读全文

一起谈.NET技术,Asp.net mvc 3 beta 新特性介绍

2011-09-01 23:46 by 狼人:-), 163 阅读, 0 推荐, 收藏,
摘要:国庆放假归来,刚好赶上asp.net mvc 3 beta发布,和大家分享点我的体验。 首先是创建项目时的选择界面的改变: 1.View Engine的变化。 asp.net mvc 3中添加了Razor这个View engine。 如果你在创建的项目中同时有Index.aspx和Index.cshtml, 默认的MVC会选择aspx 的view来显示。但是你可以通过在Global.asax文件中的Application_Start方法中添加如下代码来让MVC先去执行Razor Engine的Index.cshtml页面。 代码如下: Code highlighting... 阅读全文

一起谈.NET技术,.Net4.0 Parallel编程(四)Task 上

2011-09-01 23:46 by 狼人:-), 208 阅读, 0 推荐, 收藏,
摘要:在之前的文章中,已经介绍过了Parallel Loop(上、中、下)的相关内容。本篇文章中会就Task基础部分进行些介绍。 初识Task 首先我们来构建一个简单的Task的Demo: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->static void Main(string[] args){ Task.Factory.StartNew(() => { Console.WriteLine("Hello wo... 阅读全文

一起谈.NET技术,ASP.NET MVC的全球化方案

2011-09-01 23:46 by 狼人:-), 348 阅读, 0 推荐, 收藏,
摘要:由于项目需要最近在学习ASP.NET MVC。在实践中,网站要支持多语言,需要全球化。在MVC下我实现了一个全球化框架,在这里与各位分享一下,不足之处也请各位看官指教。 让URL支持全球化 经常上微软网站的朋友可能很熟悉类似包含..\zh-cn\..、..\en-us\..的url形式,这就是本文要使用的全球化方案。当然还有使用QueryString传递参数的方案,基本思路我想是类似的。 由于MVC天生的URL路由原理,使得这个方案很容易被接受。 基本思路 这个方案的基本思路是: 1.当用户访问的url含有合法的culture参数时,能够直接路由到对应的contro... 阅读全文

一起谈.NET技术,.Net4.0 Parallel编程(一)Data Parallelism 上

2011-09-01 23:46 by 狼人:-), 185 阅读, 0 推荐, 收藏,
摘要:Parallel.For 首先先写一个普通的循环: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->private void NormalFor(){ for (var i = 0; i < 10000; i++) { for (var j = 0; j < 1000; j++) { for (var k = 0; k < 100; k++) { ... 阅读全文

一起谈.NET技术,ASP.NET MVC 3让你疯狂的五大理由

2011-09-01 23:46 by 狼人:-), 212 阅读, 0 推荐, 收藏,
摘要:我总结了ASP.NET MVC 3让我兴奋的五个理由,不知你看了后会有何感想。 1、Razor视图引擎 我不得不说,Razor视图引擎太酷了,我喜欢它那清爽的代码风格,它使用@符号表示代码块,下面的代码在Razor都是合法的: @foreach(variteminModel){<b > @item.FullName</b >} 2、新的助手 助手一直是ASP.NET MVC和其它MVC框架相比不足的地方,ASP.NET MVC 3提供了新的助手,将会缩小这一领域和竞争对手的差距。 Chart:帮助创建图表,非常好用。 WebGrid:以网格形式呈现对象集合,包... 阅读全文
上一页 1 ··· 239 240 241 242 243 244 245 246 247 ··· 312 下一页