我正在开发 WCF 服务,它以 RESTful 格式公开其功能。每个服务都遵循 SOA 格式,我需要在服务部署方式上具有灵活性。因此,当涉及到异常处理时,我希望它们在服务级别的单点处理,而不是在全局级别处理。我想避免为每个服务 API 编写 try/catch 块。是否可以在特定于每个服务的一个公共位置处理异常。换句话说,是否有任何方法可以连接到 WCF 调用堆栈中,以处理所有异常。
问问题
800 次
1 回答
0
我已经使用自定义行为扩展来做这种事情。基本上,您创建一个实现 IErrorHandler 的新类,然后将代码放入您的代码中,以按照您的意愿处理错误以及调度级别(IServiceBehavior、IEndpointBehavior、IContractBehavior 等)。将错误处理程序添加到服务行为并设置好。
这是我在网上找到的一个示例,可用作起点(您也可以在配置文件中设置行为): http ://wcfpro.wordpress.com/2010/11/18/wcf-extensions-error-handler/
于 2013-03-28T16:16:07.520 回答