在 WCF 中,是否有捕获未处理异常的事件或方法,或者我是否需要在任何方法中放置 try/catch?
问问题
3998 次
2 回答
7
是的,创建一个实现IErrorHandler
接口的类:
允许实现者控制返回给调用者的错误消息,并可选择执行自定义错误处理,例如日志记录。
于 2010-04-29T00:40:32.817 回答
0
你应该做内部和外部的 TRY/Catch 块。
所以第一种方法从 Try
然后,如果在另一个方法中抛出任何东西,它默认为您在公开方法中的方法中的通用捕获,以将值返回给客户端。
我总是在我的 catch 块中使用日志记录来告诉管理员出了什么问题,但我让外部 catch 返回一个值,例如“请除了我们的 Appogies WCF.Blah 服务失败。请查看服务器日志以获取完整的详细信息”
通过这种方式,您可以向客户提供错误处理、日志记录和漂亮的消息。
public class Service1 : IService1
{
public string GetData(int value)
{
try
{
return somemethod(value);
}
catch(Exception ex)
{
LoggingHelper.Log(ex);
return "Please Except our Appogies the WCF.Blah service has failed. Please review the server logs for complete details";
}
}
于 2010-04-29T18:59:30.900 回答