Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure CosmosDB:在批量删除期间获取错误_C#_Azure Cosmosdb - Fatal编程技术网

C# Azure CosmosDB:在批量删除期间获取错误

C# Azure CosmosDB:在批量删除期间获取错误,c#,azure-cosmosdb,C#,Azure Cosmosdb,我正在删除批量项目,并在本地计算机上出现以下错误。我正在使用CosmosDB SDK 3.0 尝试初始化CosmosBb时出错。一个或多个错误 发生。(响应状态代码不表示成功: ServiceUnavailable(503);子状态:0;ActivityId: 在13E5-172f-4930-953f-e24bf9b0a14a之前;原因:(目前正在维修 不可用。活动ID:befe13e5-172f-4930-953f-e24bf9b0a14a, 请求开始时间:2020-08-06T07:04:5

我正在删除批量项目,并在本地计算机上出现以下错误。我正在使用CosmosDB SDK 3.0

尝试初始化CosmosBb时出错。一个或多个错误 发生。(响应状态代码不表示成功: ServiceUnavailable(503);子状态:0;ActivityId: 在13E5-172f-4930-953f-e24bf9b0a14a之前;原因:(目前正在维修 不可用。活动ID:befe13e5-172f-4930-953f-e24bf9b0a14a, 请求开始时间:2020-08-06T07:04:58.1807989Z,请求结束时间: 2020-08-06T07:05:28.2986219Z,尝试的区域数:1 响应时间:2020-08-06T07:04:59.1993537Z存储结果: StorePhysicalAddress: rntbd://127.0.0.1:10253/apps/DocDbApp/services/DocDbServer18/partitions/a4cb495e-38c8-11e6-8106-8cdcd42c33be/replications/1p/, LSN:-1,全局委员会DLSN:-1,分区KeyRangeID:,有效期为: False,状态代码:410,子状态代码:0,请求费用:0,项目LSN: -1,SessionToken:,UsingLocalLSN:True,TransportException:发生客户端传输错误:无法连接到远程端点。 (时间:2020-08-06T07:04:59.1993537Z,活动ID: 在E3E5-172f-4930-953f-e24bf9b0a14a之前,错误代码:连接失败 [0x0005],基本错误:套接字错误

这是我的删除方法

private async Task DeleteAllExistingSubscriptions(string userUUId)
        {
            var subscriptions = await _repository
                .GetItemsAsync(x => x.DistributionUserIds.Contains(userUUId), o => o.PayerNumber);

            if (subscriptions.Any())
            {
                List<Task> bulkOperations = new List<Task>();
                foreach (var subscription in subscriptions)
                {
                    bulkOperations.Add(_repository
                        .DeleteItemAsync(subscription.Id.ToString(), subscription.PayerNumber));
                }
                await Task.WhenAll(bulkOperations);
            }
        }

该错误是客户端连接问题:

TransportException: A client transport error occurred: Failed to connect to the remote endpoint. 
(Time: 2020-08-06T07:04:59.1993537Z, 
activity ID: befe13e5-172f-4930-953f-e24bf9b0a14a, 
error code: ConnectFailed [0x0005], base error: socket error
常见原因是资源匮乏:

  • 您发送的数据量需要CPU进行处理,如果环境的CPU不足以处理数据量,您将看到CPU峰值(>70-100%)这将导致TCP连接延迟并导致这些问题。在这种情况下,请减少数据量或增加可用资源
  • 如果在云上运行,它也可能是[SNAT限制](或实例上的连接限制(取决于服务,连接限制会有所不同)

参考资料:

我猜很多绑定都会同时发生。我假设存储库有一个共享连接…每个连接的最大sim操作数是多少。例如,使用EF to sql,您不能在一个数据库实例上执行多个事务…所以每个任务可能需要自己的任务?但这似乎也不对。错误消息没有多大帮助在任何给定的时间,试着把数字限制在最多5个
TransportException: A client transport error occurred: Failed to connect to the remote endpoint. 
(Time: 2020-08-06T07:04:59.1993537Z, 
activity ID: befe13e5-172f-4930-953f-e24bf9b0a14a, 
error code: ConnectFailed [0x0005], base error: socket error