记录 WCF 服务构造函数引发的异常
本文关键字:异常 构造函数 WCF 服务 记录 | 更新日期: 2023-09-27 18:30:59
有没有办法捕获和记录从WCF服务的构造函数引发的异常?
使用自定义IErrorHandler
创建自定义IEndpointBehavior
似乎可以捕获除服务构建期间引发的异常之外的所有异常。(如果我错了,请纠正我。
我可以从 HTTP 响应中看到这种情况最终会产生System.ServiceModel.ServiceActivationException
,但如果我可以从原始异常中注销详细信息,那将很有帮助。
可以使用
WCF 跟踪
http://msdn.microsoft.com/en-us/library/ms733025.aspx
可以在服务配置中打开它,因此无需检测代码。
您需要创建一个类来记录异常,在构造函数中初始化它,并在捕获异常时调用它。下面是一个非常简单的例子:
public class MyWcfService : IMyWcfService
{
private readonly IExceptionLogger_ exceptionLogger;
public MyWcfService()
{
// Initialize dependencies
_exceptionLogger = new ExceptionLogger();
try
{
// Code here that throws an exception
}
catch (Exception ex)
{
_exceptionLogger.LogException(ex);
}
} // end constructor
// Other methods here
} // end class