Могу ли я использовать прокси по умолчанию для проекта Cosmos DB - PullRequest
0 голосов
/ 26 июня 2019

Я сделал сервис, используя ядро ​​cosmos db и asp.net. Для WiFi он работает, но когда я пытаюсь использовать прокси по умолчанию, он выдает ошибку.

SocketException: Resource temporarily unavailable
System.Net.Http.ConnectHelper.ConnectAsync(string host, int port, CancellationToken cancellationToken)
HttpRequestException: Resource temporarily unavailable
System.Net.Http.ConnectHelper.ConnectAsync(string host, int port, CancellationToken cancellationToken)

DocumentClient Создать пример кода:

  public async Task<IEnumerable<Product>> FetchProductListAsync(
         Guid? itemId)
        {

            var feedOptions =
                  new FeedOptions
                  {
                      MaxItemCount = -1,
                      EnableCrossPartitionQuery = true
                  };

            var query =
                $"SELECT  product.Id,product.Name,product.MethodOfPreparation,product.Addons,product.CurrentQuantity,product.Tag,product.Unit,product.Price FROM catalog join industry in catalog.Industy join category in industry.Category join Subcategory in category.Subcategory  join product in Subcategory.Product where catalog.id = '" + itemId + "'";

            var queryDefinition =
                new SqlQuerySpec(query);



            var orderDocumentQuery =
                 _docClient.CreateDocumentQuery<Product>(
                     UriFactory.CreateDocumentCollectionUri(
                         _azureCosmosDbOptions.Value.DatabaseId, "catalog"), queryDefinition, feedOptions)
                     .AsDocumentQuery();

           var childrenSqlQuery = _docClient.CreateDocumentQuery(UriFactory.CreateDocumentCollectionUri(_azureCosmosDbOptions.Value.DatabaseId, "catalog"), query).ToString();


            Console.WriteLine(childrenSqlQuery);
            Console.WriteLine(childrenSqlQuery);
            var orderList =
                new List<Product>();


            while (orderDocumentQuery.HasMoreResults)
            {
                orderList.AddRange(
                    await orderDocumentQuery.ExecuteNextAsync<Product>());
                Console.WriteLine(orderList);
            }

            return orderList;
        }

Я использую DucumentDb.Core 2.4.1, Пожалуйста, дайте мне идею.

1 Ответ

0 голосов
/ 28 июня 2019

В узле js sdk вы можете установить свойство ProxyUrl напрямую. ( Как использовать DocumentDB за прокси-сервером в NodeJS )

Однако в свойствах этого свойства нет .NET SDK .Вы можете попробовать приведенную ниже конфигурацию из этого случая: CosmosDB C # SDK ProyUrl отсутствует

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
        <proxy usesystemdefault="True" />
    </defaultProxy>
</system.net>

Однако я заметил, что он поддерживает только .net, а не ядро ​​.net, из этого trace . Так, пожалуйста, обратитесь к этому случаю: asp.net core defaultProxy

...