Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 建议在何处存储Azure存储连接字符串_C#_Azure_Connection String_Azure Storage_Azure Webjobs - Fatal编程技术网

C# 建议在何处存储Azure存储连接字符串

C# 建议在何处存储Azure存储连接字符串,c#,azure,connection-string,azure-storage,azure-webjobs,C#,Azure,Connection String,Azure Storage,Azure Webjobs,创建新的WebJob项目时,将连接字符串添加到App.config>configuration>connectionString中 与此相反,AppSettings(应用设置)中清楚地说明了它们的位置 推荐的地点是什么?连接字符串是否仅用于数据库连接字符串 我们将在Azure Web应用程序中使用连接字符串 创建新的WebJob项目时,AzureWebJobsStorage连接字符串将添加到App.config>configuration>ConnectionString中 创建Azure We

创建新的WebJob项目时,将连接字符串添加到App.config>configuration>connectionString中

与此相反,AppSettings(应用设置)中清楚地说明了它们的位置

推荐的地点是什么?连接字符串是否仅用于数据库连接字符串

我们将在Azure Web应用程序中使用连接字符串

创建新的WebJob项目时,AzureWebJobsStorage连接字符串将添加到App.config>configuration>ConnectionString中

创建Azure WebJob项目时,它将引用相关的WebJob库(
Microsoft.Azure.WebJobs
Microsoft.Azure.WebJobs.Core
)。您需要为WebJob SDK指定一个存储帐户来记录跟踪和度量数据。并且需要在配置文件的connectionStrings部分下指定连接字符串,否则将检索以下错误:

Microsoft Azure WebJobs SDK仪表板连接字符串缺失或为空。可以通过以下方式设置Microsoft Azure存储帐户连接字符串:

  • 在.config文件的ConnectionString部分中,按以下格式设置名为“AzureWebJobsDashboard”的连接字符串

  • 设置名为“AzureWebJobsDashboard”的环境变量

  • 设置JobHostConfiguration的相应属性

  • 据我所知,Azure WebJob SDK仅支持从上述方法读取存储连接字符串。您还可以在appSettings部分下设置连接字符串,此时您需要在构建
    JobHostConfiguration
    时指定相关属性,如下所示:

    static void Main()
    {
        var config = new JobHostConfiguration()
        {
            DashboardConnectionString= ConfigurationManager.AppSettings["AzureWebJobsDashboard"],
            StorageConnectionString= ConfigurationManager.AppSettings["AzureWebJobsStorage"]
        };
    
        if (config.IsDevelopment)
        {
            config.UseDevelopmentSettings();
        }
    
        var host = new JobHost(config);
        // The following code ensures that the WebJob will be running continuously
        host.RunAndBlock();
    }
    
    而且,你可以。对于生产,您可以在Azure Portal上指定相关的应用程序设置或连接字符串,以覆盖您的开发人员设置。更多细节,您可以参考以更好地了解它

    推荐的地点是什么?ConnectionString是否仅用于数据库连接字符串


    根据我的理解,当您使用第三方库时,您需要按照它的说明进行配置。在编写代码时,您可以根据需要定义连接字符串,并以相应的方式读取它们。

    应用程序设置使您更容易在VSTS或Azure中的构建过程中进行过度写入,因为这是一种简单的过度写入,但使用连接字符串会变得更复杂。单独的连接字符串文件也很好,但如果您正在寻找一个安全的存储位置,Azure Key Vault是一个不错的选择。使用KeyVault会将问题移到“在开发中时”,但在那里您仍然可以问相同的问题。我不太感兴趣为什么应用程序设置超过连接字符串,我感兴趣的是何女士“强加”的共识。。但是,随着投票的失败,我担心这会很快被埋葬,无论如何,谢谢@Obieff道歉,我认为这更像是一个什么时候你会用什么。好吧,其实并没有什么约定,不同的方法有不同的用途。Microsoft提供的一些示例使用连接字符串文件,一些示例使用应用程序设置。关于KeyVault,有两种方法可供使用,您可以有多个KeyVault实例,每个环境一个。另一种解决方案是在KeyVaultClient周围有一个包装器,将环境名称附加到密钥上,以便dbConnectionString->dbConnectionStringDev。环境名称将存储在appSettings中。我使用
    config.DashboardConnectionString
    从Azure Key Vault设置其值。谢谢,@Bruce。你能详细说明一下吗?