[英]Value cannot be null. Parameter name: uriString
我最近在Visual Studio 2015中通过以下链接创建了一个应用程序: https : //azure.microsoft.com/en-in/documentation/articles/documentdb-dotnet-application/
但是当我构建解决方案时,它显示了以下错误:
值不能为
null
。
参数名称:uriString
第71行:public static void Initialize()
第72行:{
第73行:client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["https://<db-name>.documents.azure.com:443/"]), ConfigurationManager.AppSettings["<db-key>"]);
第74行:CreateDatabaseIfNotExistsAsync().Wait();
第75行:CreateCollectionIfNotExistsAsync().Wait();
源文件:
C:\\Users\\BHAVIN PATEL\\Documents\\Visual Studio 2015\\Projects\\documentdb-dotnet-todo-app-master\\src\\DocumentDBRepository.cs
行:73
我已经从Azure中创建的DocumentDB应用程序的应用程序的Web.config
文件中插入了URI和主键/辅助键。
您的问题是数据库端点和密钥应位于.config文件中,如下所示
<appSettings>
<add key="documentDbEndpoint" value="https://bhavin-patel.documents.azure.com:443/"/>
<add key="documentDbKey" value="naw1rq0lhaPwzCSI1w69EQYEfUeL0rU*********************************"/>
</appSettings>
然后,您应该使用配置管理器通过密钥读取设置
client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["documentDbEndpoint"]), ConfigurationManager.AppSettings["documentDbKey"]);
记住要使用门户中正确的documentDbKey。 我用*掩盖了部分钥匙
运行Azure Function
时出现此错误。
我正在从Azure Key Vault
中读取连接字符串值之一,并且已在Azure Function配置的应用程序设置中进行了设置。 根据Microsoft文档的要求 ,必须使用创建的托管身份对象在Azure Vault配置中设置Azure Function的Managed Identity
并创建Access Policy
,以便Azure Function应用程序可以从Key Vault中读取值。
我缺少此设置,因此键ServiceBusConnectionString
的应用程序设置值始终为null,因此出现上述错误。 配置访问策略后,错误消失了。 希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.