我想在 WCF 服务上安装 IErrorHandler 的实现。
我目前正在使用这段代码,它似乎没有做任何事情:
logServiceHost = new ServiceHost(typeof(Logger));
logServiceHost.AddServiceEndpoint(typeof(ILogger), binding, address);
// Implementation of IErrorHandler.
var errorHandler = new ServiceErrorHandler();
logServiceHost.Open();
// Add error handler to all channel dispatchers.
foreach (ChannelDispatcher dispatcher in logServiceHost.ChannelDispatchers)
{
dispatcher.ErrorHandlers.Add(errorHandler);
}
我见过的所有代码示例(包括在我用于 WCF 的书中)都展示了如何使用自定义创建的IServiceBehavior来安装错误扩展。这是强制性的,还是我的方法也应该有效?