2017-07-05 67 views
0

當您查看CosmosDB REST API返回的HTTP狀態代碼文檔時,.NET SDK中不存在一些狀態代碼。Azure DocumentDB .NET SDK不包含所有HTTP狀態代碼

HTTP Status Codes for Azure Cosmos DB

假設,狀態碼449,並沒有在HttpStatusCode存在(System.Net)。

「449重試以」

的操作遇到了暫時的錯誤。

這隻發生在寫操作上。

重試操作是安全的。

如何使用Azure DocDb的.NET客戶端SDK處理這種狀態代碼?

還是SDK自己處理這些?

+0

只是比較狀態,以449 HttpStatusCode是一個枚舉,這意味着它與* *一些預定義的值的整數。您可以將任何整數傳遞給枚舉。 HttpStatusCode沒有* all *狀態代碼的預定義值,例如有趣的例如'418-我是茶壺' –

+0

實際上,該值只能由枚舉HttpStatusCode訪問。 我試圖找到狀態碼的int值,但沒有用。 –

+0

這是不正確的。只需將結果轉換爲int。一個枚舉*是一個整數。事實上,答案的代碼顯示了這種鑄造 –

回答

0

正如你所說的,如果我們檢查的StatusCode屬性(也就是可爲空)DocumentClientException,我們會發現,狀態碼449在System.Net.HttpStatusCode不存在。

enter image description here

檢查後天青DocumentDB .NET SDK的來源,SDK似乎自行處理這些。

enter image description here

+0

謝謝弗雷德。 嘖嘖,我完全忘記了ILSpy的存在...... 我應該首先通過ILSpy來查找它。 猜測,我習慣了太多的搜索開源代碼:-) –