我有旧代码可以捕获
Microsoft.Azure.Documents.DocumentClientException
并对其做出反应。DocumentClientException
是 internal
。
我的代码捕获
DocumentClientException
,如下所示:
...
// a-CosmosDb-call
...
catch (DocumentClientException de)
{
if ((int)de.StatusCode != 429)
{
throw;
}
sleepTime = de.RetryAfter;
}
有没有办法重用上面的代码,或者 Microsoft 是否更改了 CosmodDb 的行为以不发布错误原因?
如果您使用
Microsoft.Azure.Cosmos
Nuget 包,则应该使用 CosmosException
。你的代码会是这样的:
...
// a-CosmosDb-call
...
catch (CosmosException ce)
{
if ((int)ce.StatusCode != 429)
{
throw;
}
sleepTime = ce.RetryAfter;
}