没有合适的资源?快使用搜索试试~ 我知道了~
WCF基本异常处理模式[上篇].doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 137 浏览量
2022-06-22
09:34:32
上传
评论
收藏 139KB DOC 举报
温馨提示
试读
11页
WCF基本异常处理模式[上篇].doc
资源推荐
资源详情
资源评论
WCF 基本异常处理模式[上篇]
由于 采用 托管语言(和 )作为其主要的编程语言,注定以了基于 的编
程方式不可能很复杂。同时, 设计的一个目的就是提供基于非业务逻辑的通信实现,为编程人
员提供一套简单易用的应用编程接口()。 编程模式的简单性同样体现在异常处理上面,
本篇文章的主要目的就是对 基于异常处理的编程模式做一个简单的介绍。
一、当异常从服务端抛出
对于一个典型的 服务调用,我个人倾向于将潜在抛出的异常费为两种类型:应用异常
()和基础结构()。前者为应用级别,主要
体现为执行某个服务操作的业务逻辑抛出的异常;而后者则是业务无关的,通过 本身的基础架
构抛出,主要体现在对象的序列化、消息的处理、消息传输和消息的分发等等。在这里我们更多地
关注与应用异常。
首先,我们在不做任何异常处理相关操作的情况下,看看如果在服务端执行某个服务操作的过
程中抛出异常后,客户端会得到怎样的结果。我们通过实例的形式来演示这中场景。处于简单和易
于理解考虑,我们照例沿用计算服务的例子。
我们照例采用典型的四层结构(、、 和 ),具体的层次在
解决方案的划分如图 所示:
图 1 异常抛出实例解决方案结构
下面代码片断表示服务契约()和服务类型()的定义。为了
简洁,在服务契约接口中,我们仅仅定义了唯一一个用于进行两个整数触发预算的方法 !"。服
务契约和服务类型类型分别定义在项目 和 中。
#$%&"'
(#%)
*#+
,#-.%/0)#11222)%1034
5#6
7#+
8#-94
:#!".;$3'
<#=
>#=
#)'
(#%)
*#+
,#6#
5#+
7#6!".;$3
8#+
:#1$'
<#=
>#=
#=
接下来是通过 应用程序( 项目)对上面定义的 服务
()进行寄宿()的代码和相关配置。
#$%'
(#$%&"'
*#)'
,#%)
5#+
7#6%
8#+
:#"&.-43
<#+
>#.)/2.$.333
#+
(#
*#)9.3'
,#?".3'
5#=
7#=
8#=
:#=
#%/0 >0"/0@:0AB
(#CDB
*#C$%&"B
,#CB
5#C%/0)0B
7#C"""/0)#11 (8>> #*8( 10
6"/02E"0/0)01B
8#B
:#B
<#$%&"B
>#DB
最后在代表客户端的 应用程序( 项目)中对计算服务 进行
调用。相关的服务调用代码和配置如下所示,为了让服务端在执行 !" 操作的时候抛出异常,特
意将第二个参数设置为 >,以便服务在进行除法运算的时候抛出
$%!"E$F 异常。
#$%'
(#$%&"'
*#)'
,#%)
5#+
7#%
8#+
:#"&.-43
剩余10页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3615
- 资源: 59万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功