例外処理とWCF検証統合のためにエンタープライズライブラリを使用しているWCFサービスがあります。彼らは一緒に働くようには思われません。私が欲しいものWCF&エンタープライズライブラリ - 例外シールドと検証アプリケーションブロック
は次のとおりです。
- 私のサービスは、例外のいずれかの種類をスローした場合、WCFの例外シールドがこれをキャッチし、
FaultException<MyServiceFault>
をスローします。 - 受信メッセージが検証に失敗した場合、サービスは
FaultException<ValidationFault>
をスローし続ける必要があります。
しかし、私はException ShieldingポリシーにValidation例外を通す方法を教えていません。
すべての例外をFaultException<MyServiceFault>
に変換するエンタープライズライブラリの設定があります。私はそれがキャッチした例外をログに記録EnterpriseLibrary取得した場合、それはそれを取得言う
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF.FaultContractWrapperException
検証が失敗しました。しかし、postHandlingAction
がNone
の新しい<exceptionType>
というコンフィグレーションにこの例外を追加すると、検証に失敗したときにまだFaultException<MyServiceFault>
が投げられます。
WCF検証例外を除くすべての例外を捕捉するためにWCF例外シールドを使用することはできますか?もしそうでなければ、投げられるかもしれないすべての異なる例外のためにもっとたくさんの設定を追加しなければならないでしょう - この場合、例外の遮蔽のポイントは何ですか?
それは「WCFの例外シールド」以外のものを持つことは、それがすべて失敗する原因になりますことは事実であるが、私は、このポリシーの名前を使用しています* *。私の答えの設定は機能します! –