Skip to content

本文demo已上传至github:xinyuehtx/WCFdemo

这个博客会介绍如何设置服务的异常回馈

在上一篇博客中介绍了2019-1-29-wcf入门(9) - huangtengxiao如何使用错误协定回馈指定异常,但是往往会存在部分异常是非预期的。这一篇会介绍如何使用服务行为回馈未指定异常

回馈未指定异常

这里我们对上一个例子进行一些修改

首先服务接口删除错误协定

1548907606457

在服务实现上,设置IncludeExceptionDetailInFaultsTrue。(如果只期望在调试阶段回馈异常,可以使用ServiceDebugBehavior.IncludeExceptionDetailInFaults代替)

并且在操作协定实现上直接抛出异常

1548907691664

在客户端我们这次改为捕捉FaultException

1548907904037

我们在客户端抓到了异常,并且在Detail属性中找到的服务操作实际发生的异常

1548908025233

注意

这个例子中处理未指定异常和上一篇博客2019-1-29-wcf入门(9) - huangtengxiao中处理指定异常,原理是一致的。

所以问题也是一致的,不能处理OneWay

小结

我们研究了WCF服务的IncludeExceptionDetailInFaults,其特点有

  • 可以将服务端的指定错误回馈客户端,不需要显示指定类型
  • 可以配置debug模式
  • 不能处理单向操作

参考链接:

最后更新于:

基于 VitePress + @sugarat/theme 构建