2008年4月22日

摘要: 摘要: 通过第一部分的介绍,我们可以体会到,WCF 的Data Contract在CLR Type和Neutral Contract之间搭建了一座桥梁,弥合了.NET世界和厂商中立世界的差异。通过WCF Data Contract我们将CLR Data Type暴露成一个厂商中立的数据结构的描述,同样通过WCF Data Contract我们将一个现有的CLR Data Type和既定的... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(88) 评论(0) 推荐(0)

摘要: 摘要: 在本篇文章上一部分Order Processing的例子中,我们看到原本已Collection形式定义的DetailList属性(public IList DetailList),在Data Contract中却以Array的方式体现(public OrderDetail[] DetailList)。我们现在就来详细地讨论一下基于Collection & Dictionary 的... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(75) 评论(0) 推荐(0)

摘要: 摘要: 软件工程是一门独特的工程艺术,需要解决的是不断改变的需求变化。而对于WCF,对于SOA,由于涉及的是对多个系统之间的交互问题,如何有效地解决不断改变的需求所带来的问题就显得更为重要:Service端版本的变化能否保持现有Consumer的正常调用,Consumer端的改变不至于影响对Service 的正常调用。对于Data Contract来说就是要解决这样的问题:Service... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(88) 评论(0) 推荐(0)

摘要: 摘要: 对于所有的开发人员来说,Exception Handling是我们每天都要面对的事情。对于基于Source Code的Exception Handling,我想大家已经司空见惯了,但是对于Database级别的Exception Handling,就没有那么常见了。在这篇文章中,我将会介绍我对于基于Database编程中Exception Handling的一些粗浅的认识:在编写... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(95) 评论(0) 推荐(0)

摘要: 摘要: 在上面一节中,我通过RAISERROR重写了创建User的Stored procedure,实际上上面的Stored procedure是有问题的。我之所以没有立即指出,是因为这是一个很容易犯的错误,尤其是习惯了.NET Exception Handling的人更容易犯这样的错误。我们知道在.NET Application中,如果出现一个未处理的Exception,程序将立即终止... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(112) 评论(0) 推荐(0)

摘要: 摘要: 在谈谈基于SQL Server 的Exception Handling - PART II中,我给出了一个完整的例子说明了:如何在将message定义在sys.messages中保证message的一致性和可维护性;如何在Stored procedure中使用RAISERROR将一个可预知的Error抛出;如何在Stored procedure中使用TRY/CATCH进行异常的捕... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(79) 评论(0) 推荐(0)

摘要: 摘要: 在任何Application的开发中,对不可预知的异常进行troubleshooting时,异常处理显得尤为重要。对于一般的.NET系统来说,我们简单地借助try/catch可以很容易地实现这一功能。但是对于 一个分布式的环境来说,异常处理就没有那么简单了。按照面向服务的原则,我们把一些可复用的业务逻辑以Service的形式实现,各个Service处于一个自治的环境中,一个Ser... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(80) 评论(0) 推荐(0)

摘要: 摘要: 在一个基于面向服务的分布式环境中,借助一个标准的、平台无关的Communication Infrastructure,各个Service通过SOAP Message实现相互之间的交互。这个交互的过程实际上就是Message Exchange的过程。WCF支持不同形式的Message Exchange,我们把这称之为Message Exchange Pattern(MEP), 常见... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(92) 评论(0) 推荐(0)

摘要: 摘要: 在一个分布式的环境中,我们往往需要根据具体的情况采用不同的方式进行数据的传输。比如在一个Intranet内,我们一般通过TCP进行高效的数据通信;而在一个Internet的环境中,我们则通常使用Http进行跨平台的数据交换。而这些通信方式具有一个显著的特点,那就是他们是基于Connection的,也就是说,交互双方在进行通信的时候必须保证有一个可用的Connection存在于他们... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(86) 评论(0) 推荐(0)

摘要: 摘要: 我们知道MSMQ天生就具有异步的特性,它只能以One-way的MEP(Message Exchange Pattern)进行通信。Client和Service之间采用One-way MEP的话就意味着Client调用Service之后立即返回,它无法获得Service的执行结果,也无法捕捉Service运行的Exception。 但是在有些场景 中,这是无法容忍的。再拿我在上一篇... 阅读全文

posted @ 2008-04-22 23:06 dudubeibei 阅读(84) 评论(0) 推荐(0)