.NET Framework(.asmxファイル、WCFではなく)を使用して、WebServicesを使いこなしています。私は、何らかのビジネスエラーがメソッド呼び出しで発生したことをユーザーに伝えるベストプラクティスを考えています。Webサービスでのエラー処理のベストプラクティス
私の小さなテスト・ケース:
私は、中央サーバに登録する必要があるプローブを測定しています。各プローブは異なる物理アドレスを持つ必要があります。登録するには、彼らは(Webサービス経由)を呼び出す必要があります。
[WebMethod]
public void RegisterReadingStation(out Guid sessionId, Int64 physicalAddress)
今、署名は石で設定されていません - 実際に、それは私が把握しようとしているものです。 :) 既に取得済みの物理アドレスを使用して自分自身を登録しようとしている場合、何らかの形でプローブに警告する必要があります。
私はそれを見る方法、私はいくつかの可能性だ:
- が情報を含むthrows SOAPException指定を投げます。しかし、string :: messageはプログラマチックなチェックを行うのは簡単ではありません。
- 戻り値のパラメータ(またはさらに単純な列挙型)として、ある種のvalue-classを使用します。私がこれを行うと、私は手動でサーバー/クライアント上のクラスを直列化/逆シリアル化しなければならないと思いますか?
これについてのご意見はありますか?
Eek、C-日に戻る。このアプローチの問題は、それほど柔軟性がないということです。スタックトレースやメッセージなどのカスタムエラーメッセージを追加することはできません。これは簡単でマルチ互換の方法であることがわかります。 – cwap
私は、シンプルさの面で間違っているWebサービスに対する評価を得ています。 –
これは最高の投票回答ではありませんが、私はそれを受け入れます。私は "Webサービスは使いやすいはずです"というのが好きなので、これは今のところこんなことです: – cwap