[英]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://blogs.msdn.com/b/brajens/archive/2007/04/23/exception-handling-in-wcf-web-service.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.