簡體   English   中英

我應該在服務響應中使用響應代碼,異常或文本消息嗎?

[英]Should I use response codes, exceptions or textual messages for my service responses?

我正在.Net中構建基於WCF的服務應用程序。 我目前正在設計合同。

我應該在服務響應中使用響應代碼,異常或文本消息來報告服務結果狀態嗎?

它們將被Web應用程序和其他系統使用。

您應該看一下FaultContracts。 請參閱http://msdn.microsoft.com/zh-cn/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,
}

網上有幾篇文章。 請仔細閱讀它們以獲取更多具體信息。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM