.NetでWCFベースのサービスアプリケーションを構築しています。私は現在、契約を設計しています。
サービス結果のステータスを報告するために、サービス応答に応答コード、例外、またはテキストメッセージを使用する必要がありますか?
それらは、Webアプリケーションやその他のシステムによって消費されます。
FaultContractsを確認する必要があります。http://msdn.microsoft.com/en-us/library/system.servicemodel.faultcontractattribute.aspxを参照してください
フォールトコントラクトには、クライアント側の処理用の(文字列ベースの)エラーコードや、ユーザーに表示するためのテキストメッセージを含めることができます。
サービス、またはサービスデザイナーとしてのあなたが、(将来の)クライアントアプリケーションがエラーメッセージ(表示またはプロセス)で何をしたいかわからない場合は、両方を含めてください。
私の意見では、クライアントにとって意味のある応答列挙型(コード)を使用するのが最善です。それとは別に、メッセージを返すと、WCFサービスのデータ負荷が増加する可能性があります。
例えば
throw new FaultException<InvalidArgumentException>(new InvalidArgumentException(),Constants.MaxLengthFields.PhoneNumber)), Response.OrderIdMissing);
[DataContract, Serializable]
enum Response
{
[EnumMember]
OrderIdMissing,
[EnumMember]
ProductCodeInvalid,
}
Web上で利用可能ないくつかの記事があります。より具体的な情報については、それらを調べてください。
http://blogs.msdn.com/b/brajens/archive/2007/04/23/exception-handling-in-wcf-web-service.aspx
http://blogs.msdn.com/b/brajens/archive/2007/04/23/exception-handling-in-wcf-web-service.aspx