深度剖析WCF框架具体架构

开发 后端
使用WCF框架,开发人员可以随意的构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。大大的提高了工作效率。

WCF框架作为一个高效的.NET程序语言。其混合了函数语言和物件导向程序编制语言,并且完美的适用于编程、算法、技术和探索性开发,因此可以在使用的过程当中感受到趣味性和吸引力。

缺省情况下,服务端发生异常,客户端会得到一个缺省的Exception,但这个Exception实例中并不包括详细的异常信息。只是告诉客户端服务端不能正常工作。在服务器和客户端模式的程序中,有些情况下,服务启是不能完全信赖客户端的。#t#

比如浏览器和web服务器之间,为了防止非法的客户端从异常消息中获取服务端的比较详细的信息,使得心怀叵测之人有机可乘,所以服务启对于异常 返回通常会比较模糊。WCF框架也采用了这种做法,缺省情况下,它返回给客户端的异常只告知我出错了,但不告诉人家他哪里错了。这通常应用于客户端来源不明的生产环境,以此保护服务程序。 

包含详细信息模式 如果想消息更友好一些,可以通过IncludeExceptionDetailInFaults=True来设置返回具体的异常信息,这样就能告诉客户端服务出错了,并指出错误出在哪里。在程序开发阶段或者有些应用场合,客户端是受信任的,为了让客户端能更详尽的了解服务端到底出了什么问题,WCF框架也支持发送详细的错误消息给客户端,这更有利于应用程序调试。

而返回详细异常有两种方法:第一种:通过在服务端的配置文件中设置:<serviceDebug includeExceptionDetailInFaults="False" />,第二种方式为通过在代码中指定:[ServiceBehavior(IncludeExceptionDetailInFaults=true)]

自定义异常消息模式 在WCF框架中,还支持更详细的异常消息,它通过自定义的异常消息FaultMessage来传达更多的内容。WCF采用通用的Soap Fault来处理异常,并提供了FaultException和FaultException<FaultMessage>两个类型来描述和操作异常。

通讯异常,这通常是因为链路的原因,比如服务没有启动,网络阻塞等。这类异常是CommunicationException或者其派生类 状态异常,这类异常通常是与上文提到的实例模式相关的,当访问了一个已经销毁的服务器对象时便会引发此类型的异常,它们通常是ObjectDisposedException。


 

责任编辑:chenqingxiang 来源: 计世网
相关推荐

2010-02-23 11:22:15

WCF跟踪调试

2009-12-07 10:46:08

WCF框架

2010-03-02 09:39:11

保护WCF服务

2010-02-26 13:21:42

WCF通道形状

2010-02-05 15:33:29

Android JDK

2010-02-26 17:44:40

Python测试框架

2009-12-07 17:21:50

WFC框架

2024-03-12 12:57:07

Redis主从架构

2010-02-23 10:50:11

Python 测试框架

2010-02-06 15:32:30

Android架构

2010-02-23 09:34:15

WCF重载

2010-02-22 16:09:33

WCF宿主

2010-02-22 10:01:11

WCF消息处理

2016-07-28 22:57:33

云计算Google

2010-02-22 15:27:05

WCF数据契约

2009-11-09 11:15:06

WCF消息队列

2012-05-11 10:38:15

Cloud Found

2010-02-22 16:26:47

WCF传输数据

2009-11-06 09:14:14

WCF可靠性

2010-03-02 13:43:01

WCF事务演示
点赞
收藏

51CTO技术栈公众号