我最近在链接后在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应用程序中将URI和主/辅助密钥插入到我的应用程序的Web.config
文件中。
答案 0 :(得分:2)
您的问题是数据库端点和密钥应该在.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。我用*
掩盖了你的部分钥匙答案 1 :(得分:0)
运行Azure Function
时遇到此错误。
我正在从Azure Key Vault
中读取连接字符串值之一,并且已在Azure函数配置的应用程序设置中进行了设置。根据{{3}},必须为Azure功能设置Managed Identity
,并使用创建的托管身份对象在Key Vault配置中创建Access Policy
。可以从Key Vault中读取值。
我缺少此设置,因此键ServiceBusConnectionString
的应用程序设置值始终为空,因此出现上述错误。配置访问策略后,错误消失了。希望对您有所帮助。