我正在使用WCF進行REST API開發。在WCF中返回錯誤的合適方法
我們可以通過設置
WebOperationContext.Current.OutgoingResponse.StatusCode
目前我使用下面的返回錯誤代碼,因爲它提供了更清潔,多可見代碼
Throw New WebFaultException(Net.HttpStatusCode.Forbidden)
但是,使用這種方法時,如果異常頻繁拋出,IIS將其視爲快速失敗並根據快速失敗保護策略停止應用程序池。
這是返回錯誤的正確方法,我應該修改還是關閉Rapid Fail策略或者有沒有更好的方法?
沒錯,好主意。但是,服務客戶將不得不打開數據並使用狀態碼檢查對代碼進行額外的檢查。對於序列化,我們還需要爲每個新合約使用KnownType註釋數據。 – RaviVadera
親愛的@RaviVadera。您對客戶端的錯誤檢查絕對正確。但它並不是一件壞事。它非常普遍。我們需要在調用Web服務之後驗證輸出。但關於KnownType,我想你並不瞭解KnownType的概念。你根本不需要用KnownType標註數據。 – David
因此,只要DataContract的每個屬性都使用DataMember屬性註釋,我們就不需要KnownType,對嗎? – RaviVadera