2011-07-04 6 views
0

WCFのレスポンスメッセージにベストプラクティスがあるかどうかはわかりません。誰も私に正しい方向に案内してくださいできませんでしたか?WCFレスポンスクラスのベストプラクティス

私は、次の属性を持つBlaResponseオブジェクトをしました:

1. dateTime 
2. sucessfailureMessage. 

は、私は、例えば追加する必要がある何かがありますエラーの数、エラーの詳細。成功の相関IDなどの数など?

ありがとうございます。

+0

システムの要件は何ですか、何を構築していますか?そのような状況がなければ、私たちは答えに苦労すると思います。 – ColWhi

答えて

0

一般的には、エラーの技術的な詳細や、サーバー/アーキテクチャに関する詳細をクライアントから開示する情報(もちろんデバッグしている場合を除きます)を隠すことは、セキュリティを損なう可能性があるため、

これは実際にあなたがやっていることに依存しているので、実装についての詳細な情報がなくても、必要な情報が何であるかは分かりません。標準のFault Contractでも、独自のカスタムデータのラッパーにすぎません。

+0

ありがとう@Franchesca、問題は私に特別な要件はありません。私はEFを使用してデータベーステーブルにINSERTする操作をしています。データの1つが無効な場合、EF INSERTはトランザクション全体に失敗したように見えます。理想的には、エラーの番号と各エラーの詳細を返信したいと思います。 –

+0

@flybyその場合、サービスで呼び出しているメソッドに対して厳密に型指定されたFaultContractを使用し、挿入から例外をキャッチし、データを入れますMyCustomErrorData型のオブジェクトに格納し、MyCustomErrorData型のfaultExceptionをスローします。 MyCustomErrorDataクラスを設計して、クライアントに渡す必要があるすべてのものを保持することができます。これはエラー情報をクライアントに戻すための標準的な方法です。 [このチュートリアル](http://www.wcftutorial.net/Fault-Contract.aspx)には、これを設定するための基本事項がすべて記載されています。他に何か必要があれば教えてください:) – Franchesca

2

なぜこのような属性がありますか?レスポンスにこれらのパラメータを導入するためのいくつかの実際の要件が必要です。たとえば、成功した操作と失敗した操作の両方の応答のグループ化です。あなたの応答が単一の操作のためのものであるならば、それを取り除き、伝搬障害のために例外を使うべきです。

WCFでは、型付き例外(FaultContracts)が非常に大きくサポートされています。予想される例外に対して特別なFaultContractタイプを作成し、タイプFaultExceptionでスローすることができます。クライアントはそれぞれの予想される例外を個別にキャッチし、それを処理できます。

+0

ありがとう@ラディスラフ、問題は私には特別な要件はありません。私はEFを使用してデータベーステーブルにINSERTする操作をしています。データの1つが無効な場合、EF INSERTはトランザクション全体に失敗したように見えます。理想的には、エラーの数と各エラーの詳細を返信したいと思います –

+0

最初にエラーが発生します。最初のコマンドが失敗した場合、EFは処理を続行しません。あなたは単に例外を使用するか、または私が説明したように障害を作成することができます。 –

関連する問題