«Неверный URI: невозможно определить формат URI». Требуется решение или альтернативный метод для создания соединения с БД. - PullRequest
0 голосов
/ 16 апреля 2020

Это ошибка, с которой я сталкиваюсь

System.UriFormatException: 'Неверный URI: невозможно определить формат URI.'

I использовал IDocumentClient для создания соединения с БД

services.AddSingleton<IDocumentClient>(x => new DocumentClient(new Uri(Configuration["CosmosDB:URL"]), Configuration["CosmosDB:PrimaryKey"]));

Ниже приведен файл appsetings. json, из которого получены учетные данные

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
    "CosmosDB": {
        "URL": "https://localhost:8081",
        "PrimaryKey": "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
    },
  "DatabaseId": "FinanceProd"
}

1 Ответ

1 голос
/ 16 апреля 2020

ОБНОВЛЕНИЕ

Эта проблема очень странная, я пытался уменьшить версию пакета, но все они работают нормально. Поэтому я думаю, что проблема не в версии пакета.

Может быть, вы можете отладить вашу программу с точками останова. Например,

string URL = Configuration["CosmosDB:URL"];
string PrimaryKey = Configuration["CosmosDB:PrimaryKey"];
services.AddSingleton<IDocumentClient>(x => new DocumentClient(new Uri(Configuration["CosmosDB:URL"]), Configuration["CosmosDB:PrimaryKey"]));

Если проблема не решена, лучшего способа настроить параметры не существует

PRIVIOUS

Ваш код верно, но теперь вы столкнулись с этой проблемой. Я думаю, это может быть связано с версией пакета.

Я создал основное приложение, которое находится в локальной базе данных, и попробую его успешно. Моя версия пакета, как показано ниже.

  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Cosmos" Version="3.8.0" />
    <PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.10.1" />
  </ItemGroup>

Поэтому я предлагаю вам сначала обновить версию пакета. Если это невозможно, я предлагаю вам восстановить демо для тестирования. Возможно, вмешалась другая часть кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...