这是我面临的错误
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>
所以我建议你先更新软件包版本。如果这不可能,我建议您重新创建演示进行测试。也许是代码的另一部分干扰了。