channelFactory を正しく閉じる方法を知りたいです。実際、私は使用しています:
try
{
factory.Close(TimeSpan.FromSeconds(0.25))
}
catch
{
factory.Abort();
}
しかし、ServiceHost 側では、未処理の例外がドメイン レベル (アプリのトップ レベル) に到達します。サービス ホストが例外をキャッチせず、構成した IErrorHandler で例外を処理しない理由がわかりません。
これは、ErrorHandler を構成する方法です。
IErrorHandler handler = new ErrorHandler();
foreach (var channelDispatcher in host.ChannelDispatchers.Select(d => d as ChannelDispatcher).Where(d => d != null))
{
channelDispatcher.ErrorHandlers.Add(handler);
}