【问题标题】:Maximum number of retries (6) exceeded while executing database operations with 'CosmosExecutionStrategy'使用“CosmosExecutionStrategy”执行数据库操作时超出最大重试次数 (6)
【发布时间】:2019-10-18 15:46:44
【问题描述】:

我正在使用 ASP.NET Core 2.2、GraphQL.NET、CosmosDB、Entity Framework Core (Microsoft.EntityFrameworkCore.Cosmos v2.2.4) 进行 API 开发项目。

在测试从 AzureComosDB 提取数据的 API 方法时,有时我会收到此错误:

Microsoft.EntityFrameworkCore.Storage.RetryLimitExceededException:“使用“CosmosExecutionStrategy”执行数据库操作时超出了最大重试次数 (6)。查看最近失败的内部异常。'

我不确定为什么会间歇性弹出此错误。

任何人都可以通过提供一些指导来解决此问题来帮助我吗?

【问题讨论】:

    标签: c# entity-framework-core azure-cosmosdb asp.net-core-2.2 graphql.net


    【解决方案1】:

    我想了解有关上下文文件的更多信息,因为错误显示`

    '超过最大重试次数(6)'

    `。如果您尝试在每个请求上重新部署数据库,这可能会导致,因此考虑到您已经在 cosmosdb 中部署了数据库,建议您删除 Database.EnsureCreated() ,因为这会产生性能问题。

    有关更多信息,请参阅此文档https://docs.microsoft.com/en-us/ef/core/providers/cosmos/?tabs=dotnet-core-cli

    【讨论】:

      【解决方案2】:

      首先,你检查过错误中所说的内部异常吗?

      Microsoft.EntityFrameworkCore.Storage.RetryLimitExceededException:“使用“CosmosExecutionStrategy”执行数据库操作时,超出了最大重试次数 (6)。 查看最近失败的内部异常。'

      它可能会提供关于失败原因的线索。

      现在,这个错误是由 cosmos 重试策略引起的。如果操作失败,它将重试到up to six times

      您可以修改此策略,但可以在here 找到默认策略。 它被重试的事实表明它是一个重试时可能会消失的错误。一个很好的例子是网络连接中的故障(例如,当 wifi 信号不好时)。另一个可能是请求超出了配置的Request Unit limits

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-04
        • 1970-01-01
        • 1970-01-01
        • 2013-08-30
        • 2021-02-03
        • 1970-01-01
        • 1970-01-01
        • 2014-09-16
        相关资源
        最近更新 更多