C# IReliableReadWriteDocumentClient在文档数据库中缺少分区解析程序

C# IReliableReadWriteDocumentClient在文档数据库中缺少分区解析程序,c#,.net,azure-cosmosdb,C#,.net,Azure Cosmosdb,当DocumentClient返回为可靠时,它没有分区解析器。有什么办法可以解决这个问题吗 var documentClient = new DocumentClient(new Uri(endPointUrl), authorizationKey); var documentRetryStrategy = new DocumentDbRetryStrategy(RetryStrategy.DefaultExponential) { FastFirstRetry = true }; retur

当DocumentClient返回为可靠时,它没有分区解析器。有什么办法可以解决这个问题吗

var documentClient = new DocumentClient(new Uri(endPointUrl), authorizationKey);

var documentRetryStrategy = new DocumentDbRetryStrategy(RetryStrategy.DefaultExponential) { FastFirstRetry = true };
return documentClient.AsReliable(documentRetryStrategy);

您可以访问底层DocumentClient对象来注册分区解析器

您可以访问底层DocumentClient对象来注册分区解析器

从.AsReliable获取的IReliableReadWriteDocumentClient实现。。只是原始DocumentClient的包装器,它使用提供的重试策略在重试块中执行原始底层客户端的每个方法。没有魔法。内置DocumentDbRetryStrategy旨在消除大多数瞬时网络/服务/节流问题

回答您的初始问题-您可以在原始客户端上设置PartitionResolver,然后再使用.AsReliable.包装它。。或者,您可以稍后通过UnderlyingClient属性访问集合。UnderlyingClient属性持有传递给.AsReliable的相同实例。。扩展方法

关于使用Debug客户端和IrablieReDeDeCudioCopent客户端的最佳实践:如果您需要在客户端和服务器之间进行更可靠的通信,那么将自动对上面描述的瞬时故障进行再尝试,那么您应该考虑使用.As可靠…如果您的场景不要求在记录/跟踪时将所有文档持久化到存储器中,例如,您无论如何都会接受所有异常-那么直接使用DocumentClient来减少额外重试所花费的时间没有什么错。

您从.AsReliable获得的IReliableReadWriteDocumentClient实现。。只是原始DocumentClient的包装器,它使用提供的重试策略在重试块中执行原始底层客户端的每个方法。没有魔法。内置DocumentDbRetryStrategy旨在消除大多数瞬时网络/服务/节流问题

回答您的初始问题-您可以在原始客户端上设置PartitionResolver,然后再使用.AsReliable.包装它。。或者,您可以稍后通过UnderlyingClient属性访问集合。UnderlyingClient属性持有传递给.AsReliable的相同实例。。扩展方法


关于使用Debug客户端和IrablieReDeDeCudioCopent客户端的最佳实践:如果您需要在客户端和服务器之间进行更可靠的通信,那么将自动对上面描述的瞬时故障进行再尝试,那么您应该考虑使用.As可靠…例如,如果您的场景不要求在记录/跟踪的情况下将所有文档持久化到存储中,并且您无论如何都会接受所有异常,那么直接使用DocumentClient来减少额外重试所花费的时间没有什么错。

是的,我可以看到UnderlineClient属性可用。这是否可以互换使用?在何时使用IReliableReadWriteDocumentClient和何时使用DocumentClient方面是否有最佳做法?是的,我可以看到UnderlineingClient属性可用。这可以互换使用吗?关于何时使用IReliableReadWriteDocumentClient以及何时使用DocumentClient,是否有最佳做法?谢谢,这很有帮助。是否有任何官方文件可以阅读更多关于这方面的内容?谢谢,这很有帮助。关于这一点,是否有任何官方文件可供阅读?