WCF サービスを公開する外部境界では、すべての内部例外を に変換しFaultException
ます。これは手動のプロセスであり、多くの場合、各実装に固有の小さな欠陥があります。公開されているメソッドごとにコピー/貼り付けされ、無意識に変更されています (または忘れられています)。エラーを減らすために、未処理の例外をキャッチするアスペクトを作成したいと考えました。
内部例外をフォールト例外にマッピングします。マッピング関数をアスペクトに送信するにはどうすればよいですか?
次のようにプロパティをアスペクトに追加すると:
[Serializable]
public sealed class FaultExceptionConverter : OnExceptionAspect {
public Func<Exception, FaultException> FaultConverter { get; set }
}
私は(属性の制限によって予想されるように)それを初期化することはできません([FaultExceptionConverter(FaultConverter = MyConversionMethod)]
どこにMyConversionMethod
割り当て可能なメソッドがありますFunc<Exception, FaultException>
)。このタイプのパラメーターをアスペクトに渡すパターンはありますか? 多くのタイプをアスペクトに渡すことができます。これは一般的な問題ですか?
これを達成するためのより良い方法がたまたまある場合は、アドバイスをいただければ幸いです。