您需要将服务器端的异常包装到FaultException中.如果您控制线路的两端,并且两端都是.NET,您只需将.NET异常包装成a FaultException<T>并将其发送回客户端即可.这样通道就可以使用了.
有关详细信息,请参阅在MSDN上的合同和服务中指定和处理故障,另外,请参阅CodeProject上的本文以及此博客文章为何 在同一主题上使用WCF FaultException.
另外,为了让您的生活更轻松,请查看IErrorHandler接口,您可以在服务器端实现全局捕获异常并将其转换为故障.还可以看到很多关于该主题的博客文章,即IErrorHandler:一个通用的故障转换器或许多其他(Bing或Google更多).
为了让您的生活更轻松,您可以将IErrorHandler实现为一种行为,您可以在服务中打开或关闭服务 - 在服务配置中,或通过在服务类上设置属性.互联网上有很多实现,我喜欢的是:有用的WCF行为:IErrorHandler.
| 归档时间: |
|
| 查看次数: |
3688 次 |
| 最近记录: |