私はREST API開発にWCFを使用しています。WCFでエラーを返す適切な方法
私たちは、このメソッドを使用するときに例外が頻繁にスローされた場合には現在、私は、それが
Throw New WebFaultException(Net.HttpStatusCode.Forbidden)
をクリーンで非常に目に見えるコードを提供するので、以下を使用します。しかし
WebOperationContext.Current.OutgoingResponse.StatusCode
を設定することで、エラーコードを返すことができますIISは、高速フェイルと見なし、高速障害防止ポリシーに従ってアプリケーションプールを停止します。
エラーを返す正しい方法ですか、私はRapid Failポリシーを変更するか、無効にする必要がありますか、それとも良い方法がありますか?
はい、いいアイデア。しかし、サービスクライアントは、データをアンラップして、ステータスコードチェックでコードをチェックしなければなりません。また、シリアライズのために、新しい契約ごとにKnownTypeでDataに注釈を付ける必要があります。 – RaviVadera
親愛なる@RaviVadera。クライアント側のエラーチェックについては絶対に正しいです。しかしそれは悪いことではありません。非常に一般的です。 Webサービスを呼び出した後に出力を検証する必要があります。 KnownTypeについては、あなたがKnownTypeのコンセプトを理解していなかったと思います。 KnownTypeでDataに注釈を付ける必要はありません。 – David
DataContractの各プロパティにDataMember属性がアノテーションされている限り、KnownTypeは必要ありません。 – RaviVadera