摘要: 摘要: Microsoft 的Visual Studio为我们在应用开发中提供的强大功能,我们是有目共睹。借助该工具,是我们的开发显得更加高效而轻松。从Microsoft把这个IDE的名字从VS.NET 该为VS(比如原来的Visual Studio.NET 2003,现在的版本叫VS2005),可以MS对该IDE的期望和野心:MS要把它改造成一个万能的IDE。不过任何都有其两面性,对于我们广大的... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 摘要: 我们知道,WCF是MS基于SOA建立的一套在分布式环境中各个相对独立的Application进行Communication的构架。他实现了最新的基于WS-*规范。按照SOA的原则,相对独自的业务逻辑以service的形式封装,调用者通过Messaging的方式调用Service。对于承载着某个业务功能的实现的Service应该具有Context无关性、甚至是Solution无关性,Serv... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 摘要: 无论对于Web Service还是WCF,Client和Service之间交互的唯一形式是通过发送和接收Soap Message。在我们对Web Service和WCF进行深入学习的时候,借助一些Soap Trace 工具对Soap Message进行深入剖析是非常有必要的。在这些工具之中,我觉得最好用的就是Microsoft Soap Toolkit中的Soap Trace Utilit... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 摘要: 在任何Application的开发中,对不可预知的异常进行troubleshooting时,异常处理显得尤为重要。对于一般的.NET系统来说,我们简单地借助try/catch可以很容易地实现这一功能。但是对于 一个分布式的环境来说,异常处理就没有那么简单了。按照面向服务的原则,我们把一些可复用的业务逻辑以Service的形式实现,各个Service处于一个自治的环境中,一个Service需... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 摘要: 在一个基于面向服务的分布式环境中,借助一个标准的、平台无关的Communication Infrastructure,各个Service通过SOAP Message实现相互之间的交互。这个交互的过程实际上就是Message Exchange的过程。WCF支持不同形式的Message Exchange,我们把这称之为Message Exchange Pattern(MEP), 常见的MEP包... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 摘要: 在一个分布式的环境中,我们往往需要根据具体的情况采用不同的方式进行数据的传输。比如在一个Intranet内,我们一般通过TCP进行高效的数据通信;而在一个Internet的环境中,我们则通常使用Http进行跨平台的数据交换。而这些通信方式具有一个显著的特点,那就是他们是基于Connection的,也就是说,交互双方在进行通信的时候必须保证有一个可用的Connection存在于他们之间。而在... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 摘要: 我们知道MSMQ天生就具有异步的特性,它只能以One-way的MEP(Message Exchange Pattern)进行通信。Client和Service之间采用One-way MEP的话就意味着Client调用Service之后立即返回,它无法获得Service的执行结果,也无法捕捉Service运行的Exception。 但是在有些场景 中,这是无法容忍的。再拿我在上一篇文章的Or... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 摘要: 在C#3.0中,引入了一些列新的特性,比如: Implicitly typed local variable, Extension method,Lambda expression, Object initializer, Anonymous type, Implicitly typed array, Query expression, Expression tree. 个人觉得在这一系列... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 摘要: 通过《深入理解C# 3.0的新特性(2):Extension Method - Part I》介绍,我们知道了在C# 中如何去定义一个Extension Method:它是定义在一个Static class中的、第一个Parameter标记为this关键字的Static Method。在这一部分中,我们进一步来认识Extension Method的本质... ...阅读全文Artech 2... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 摘要: 继上一章,介绍Extension Method之后,我们接着来介绍另一个重要的特性:Lambda Expression。在前面的两篇文章中,我一再在强调这样的一个概念:C# 3.x新引入的这些特性仅仅反映在Programming Language和相应的Compiler层面。通过编译生成的Assembly的IL和原来并没有本质的改变。从这个意义上讲,所有的这些其实是编译器给我们玩得障眼法而... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 摘要: 前几天有一个朋友在MSN上问我“ASP.NET 从最初的接收到Http request到最终生成Response的整个流程到底是怎样的?”我觉得这个问题涉及到IIS和ASP.NETASP.NET Runtime的处理模型的问题,并不是三言两语就能说清楚的,所以决定写这样一篇介绍IIS和ASP.NET Runtime Process Model的文章,谈谈我对此的一个粗浅的认识,如... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 摘要: 相信这篇文章的每个读者都使用个过ASP.NET进行过基于Web的应用开发, ASP.NET是什么?如果站在一个相对High Level的角度,我们可以这样来定义ASP.NET:ASP.NET是一个基于Web的开发平台,提供构建企业级应用所需的Service、Programming Model和Software的Infrastructure。如果我们以一个Low Level的角度来... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 摘要: 相信这篇文章的每个读者都使用个过ASP.NET进行过基于Web的应用开发, ASP.NET是什么?如果站在一个相对High Level的角度,我们可以这样来定义ASP.NET:ASP.NET是一个基于Web的开发平台,提供构建企业级应用所需的Service、Programming Model和Software的Infrastructure。如果我们以一个Low Level的角度来... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 摘要: WCF是构建和运行Connected System的一些列技术的总称,它是建立在Web Service Architecture上的一个全新的Communication Infrastructure。你可以把它看成是.NET平台上的新一代的Web Service。WCF为我们提供了Secure & Reliable的Messaging,也为我们提供了更好的Interoperabi... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 摘要: 深入理解C#3.x的新特性系列在沉寂一个月之后,今天继续。在本系列前3部分中,我们分别讨论了Anonymous Type,Extension Method 和 Lambda Expression,今天我们来讨论另一个实用的、有意思的New feature: Automatically Implemented Property。 阅读全文Artech 2007-09-15 21:... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 摘要: 深入理解C# 3.x的新特性系列自开篇以后,已经有两个月了。在前面的章节中,我们先后深入讨论了C# 3.x新引入的一些列新特性:Anomynous Type、Extension Method、Lambda Expression、Automatically Implemented Property,今天我们来讨论本系列的涉及的另外两个简单的Feature: Object Ini... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 摘要: 较之C# 2.0, C# 3.x引入了一些列新的特性,为我们编程带来很大的便利,通过有效地利用这些新特性,我们可以编写出更加简洁、优雅的程序。不过这些新特性仅仅是编译器给我们耍的小花招:在编译的时候加入一些必要的Code,使这些在C# 2.0角度看略显残缺的Code变得“完整”,实际上最终生成的Assembly和在C# 2.0时代并没有本质的不同。为此,有些人对这些新特性不以为然... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 摘要: SOA一个主要的目标就是促进不同技术平台的互操作,要真正实现这样一个宏伟的目标是一件极不容易的事情,需要不同的厂商和标准组织相互协作,制定一个大家一致遵循的标准。这样一个标准就是WS-* 。我们很清楚,无论个个厂商各自的标准怎样千差万别,但是有个标准是他们必须要遵循的,那就是Internet的标准,如果哪家公司拒绝Internet,那肯定要被淘汰的。而对于Internet,基于H... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 摘要: 通过第一部分的介绍,我们可以体会到,WCF 的Data Contract在CLR Type和Neutral Contract之间搭建了一座桥梁,弥合了.NET世界和厂商中立世界的差异。通过WCF Data Contract我们将CLR Data Type暴露成一个厂商中立的数据结构的描述,同样通过WCF Data Contract我们将一个现有的CLR Data Type和既定的... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 摘要: 在本篇文章上一部分Order Processing的例子中,我们看到原本已Collection形式定义的DetailList属性(public IList DetailList),在Data Contract中却以Array的方式体现(public OrderDetail[] DetailList)。我们现在就来详细地讨论一下基于Collection & Dictionary 的... 阅读全文
posted @ 2008-03-13 21:15 咔咔 阅读(147) 评论(0) 推荐(0) 编辑