"Invalid URI: The format of the URI could not be determined",需要解决方案或替代方法来创建与DB的连接



这是我面临的错误

System.UriFormatException:'无效URI:URI的格式可能无法确定。">

我已经使用IDocumentClient创建了到DB 的连接

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

下面给出的是我的appsettings.json文件,从中获取凭证

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

更新

这个问题很奇怪,我试着减少软件包的版本,但它们都能正常工作。所以我认为问题不在于软件包版本。

也许你可以用断点调试你的程序。比如

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

如果问题没有得到解决,就没有更好的方法来配置参数

价格

您的代码是正确的,但现在您面临这个问题。我想这可能是由软件包的版本引起的。

我创建了一个核心应用程序,数据库在本地,并尝试成功。我的包版本如下。

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

所以我建议你先更新软件包版本。如果这不可能,我建议您重新创建演示进行测试。也许是代码的另一部分干扰了。

相关内容

  • 没有找到相关文章

最新更新