我在一个IIS应用程序中托管了一个Web应用程序和WCF服务。
当在WCF级别发生错误时,我想记录详细信息,但我想将异常消息隐藏到Web客户端/用户。
有几个问题:
我应该将IncludeExceptionDetails设置为true,使用try catch和rethrow记录异常详细信息并使用常规屏蔽异常吗?
答案 0 :(得分:0)
为什么不在服务器端登录?在客户端捕获异常的想法是由客户端以适当的方式处理它们,告诉客户端究竟是什么错误(参数,验证,请求长度等)。然后客户端决定如何处理异常。在您的情况下,您应该将异常屏蔽到客户端,因此在服务中生成IncludeExceptionDetails = false并在服务器端记录您的异常。
最佳做法是通过在您的服务中实施IErrorHandler接口来实现此目的。在那里,您可以提供所需的任何日志逻辑(文件,数据库,电子邮件等)。