2012-02-23 15 views
0

私のサービスのValidationFaultの例外をキャッチして、MyClassのインスタンスを、クライアントが正しくサービスメソッドの1つを呼び出すときに、EntLibによって提供された検証エラーでいっぱいのプロパティを返します。パラメータ(複雑な型は使用できません)。WCF +エンタープライズライブラリ+ ValidationFault

私はこのタスクを達成するために2つのインターフェイス、IParameterInspectorIOperationInvokerを実装しようとしました。問題は、メソッドBeforeCallが(IParameterInspectorインターフェイスの)呼び出された後、EntLibはValidationFault例外をスローしますが、私はそれをキャッチできず、私のコードは私のIOperationInvokerクラスのInvokeメソッドに達しません。戻り値をMyClassのインスタンスに置き換えます。

私のクライアントは.NETプラットフォームをベースにしておらず、catch(FaultException<ValidationFault> ex)などはありません。だからこそ、私は自分のサービスの応答でデフォルトのオブジェクトを扱わなければなりません。

私は助けていただきありがとうございます。

答えて

0

エンタープライズライブラリのWCF ExceptionShieldingに似たIErrorHandlerの実装を使用できますか?基本的にすべての例外をキャッチし、FaultException<ValidationFault>の場合は、ValidationFaultをカスタムメッセージに変換して返します。

ProvideFaultの出力がメッセージなので、エラーではなくメッセージを返すことができるようです。このpostingはアプローチを与えるようです。