Windows Azure网站的配置页面具有“连接字符串”部分.该部分列出了链接资源的连接字符串.我们如何以编程方式检索链接的SQL Azure数据库的连接字符串? 解 以编程方式检索连接字符串,如
以编程方式检索连接字符串,如下所示:
connString = Environment.GetEnvironmentVariable("PREFIX_myConnStringName");
释
Azure连接字符串成为环境变量. Documentation解释说Azure使用prefixes创建变量,如下所示:
SQL Server: SQLCONNSTR_myConnStringName
MySQL: MYSQLCONNSTR_myConnStringName
SQL Database: SQLAZURECONNSTR_myConnStringName
Custom: CUSTOMCONNSTR_myConnStringName
SQL Azure: SQLAZURECONNSTR_myConnStringName
知道了,我们可以使用以下代码检索所需的连接字符串:
connString = Environment.GetEnvironmentVariable("SQLAZURECONNSTR_myConnStringName");
其他选择
作为另一种选择,这个related post关于如何通过web.config访问连接字符串,如下所示:
<add name="myConnStringName" connectionString="you can leave this blank" providerName="System.Data.SqlClient" />
注意:我们可能不必包含providerName属性.
进一步的研究
我们可以通过将此代码放入Razor视图来查看所有可用的环境变量和连接字符串.警告:这将显示您的密码!
<ul> @foreach (System.Collections.DictionaryEntry ev in Environment.GetEnvironmentVariables()) { if (ev.Value.ToString().ToLower().Contains("data source")) { <li><strong>@ev.Key.ToString()</strong> @ev.Value.ToString()</li> } } </ul> <ul> @foreach (System.Configuration.ConnectionStringSettings cs in System.Configuration.ConfigurationManager.ConnectionStrings) { <li><strong>@cs.Name</strong> @cs.ConnectionString</li> } </ul>
目前为止就这样了.