2

.NetでWCFベースのサービスアプリケーションを構築しています。私は現在、契約を設計しています。

サービス結果のステータスを報告するために、サービス応答に応答コード、例外、またはテキストメッセージを使用する必要がありますか?

それらは、Webアプリケーションやその他のシステムによって消費されます。

4

2 に答える 2

4

FaultContractsを確認する必要があります。http://msdn.microsoft.com/en-us/library/system.servicemodel.faultcontractattribute.aspxを参照してください

フォールトコントラクトには、クライアント側の処理用の(文字列ベースの)エラーコードや、ユーザーに表示するためのテキストメッセージを含めることができます。

サービス、またはサービスデザイナーとしてのあなたが、(将来の)クライアントアプリケーションがエラーメッセージ(表示またはプロセス)で何をしたいかわからない場合は、両方を含めてください。

于 2012-06-09T22:43:56.123 に答える
0

私の意見では、クライアントにとって意味のある応答列挙型(コード)を使用するのが最善です。それとは別に、メッセージを返すと、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://blogit.create.pt/blogs/marcosilva/archive/2008/05/18/Developing-a-WCF-Service-%5F2D00%5F-Fault-Exceptions-AND-FAULT-Contracts.aspx

http://blogs.msdn.com/b/brajens/archive/2007/04/23/exception-handling-in-wcf-web-service.aspx

于 2012-06-09T23:08:40.660 に答える