0

我正在尝试使用环境变量从Azure 应用程序设置中获取连接字符串,但我在 Azure 应用程序设置中放入的连接字符串的格式似乎不正确。这是我在 localhost 中正常工作的原始连接字符串。

    <add connectionString="Server=tcp:****.database.windows.net,1433;Initial Catalog=***;
Persist Security Info=False;User ID=******;Password=*********;MultipleActiveResultSets=False;
    Encrypt=True;TrustServerCertificate=False;Connection Timeout=1200000;
    Max Pool Size=500;Pooling=true;" name="Con_String"></add>

我在Azure 应用程序设置"Server=tcp:****.database.windows.net,1433;Initial Catalog=****;Persist Security Info=False;User ID=****;Password=****;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=1200000;Max Pool Size=500;Pooling=true;"中作为con_string

现在为了在运行时获取连接字符串,我使用环境变量作为字符串ConnectionString = Environment.GetEnvironmentVariable("SQLAZURECONNSTR_Con_String");

但是在运行 Web 应用程序期间,我收到异常消息Keyword not supported: '"Server'。

我尝试了 Retrieve 中的方法并使用 Windows Azure 的连接字符串?和其他类似的帖子,但没有用。我在这里错过了什么愚蠢的东西吗?

4

2 回答 2

1

我在这里错过了什么愚蠢的东西吗?

如果你仍然得到Keyword not supported: '"Server'or The ConnectionString property has not been initialized

我假设您在将连接字符串添加到 WebApp appseting 后不保存appsetting。

在此处输入图像描述

以下代码都适用于我。

ConnectionString = ConfigurationManager.ConnectionStrings["Con_String"].Connec‌​tionString.

ConnectionString = Environment.GetEnvironmentVariable("SQLAZURECONNSTR_Con_Stri‌​ng")

测试结果:

在此处输入图像描述

注意:正如 GauravMantri 提到的,Azure WebApp 应用程序设置中的连接字符串中不需要引号 (")。

于 2018-01-18T06:52:59.883 回答
0

在我的情况下,问题与愚蠢的错误有关:当复制/粘贴连接字符串时,Notepad++我不知何故错过了换行符的出现,因为它Notepad++正在包装文本或其他东西。

无论如何,我已经复制/粘贴到Notepad然后替换User IDPassword然后再次复制/粘贴到服务器,保存设置然后重新启动服务器。最后,问题修复。

于 2018-12-09T20:16:15.453 回答