检索使用C#.NET链接到Windows Azure网站的SQL Azure数据库的连接字符串

Sha*_*tin 4 c# asp.net azure

Windows Azure网站的配置页面具有"连接字符串"部分.该部分列出了链接资源的连接字符串.我们如何以编程方式检索链接的SQL Azure数据库的连接字符串?

Sha*_*tin 7

以编程方式检索连接字符串,如下所示:

connString = 
    Environment.GetEnvironmentVariable("PREFIX_myConnStringName");
Run Code Online (Sandbox Code Playgroud)

Azure连接字符串成为环境变量.文档说明Azure使用前缀创建变量,如下所示:

SQL Server:SQLCONNSTR_myConnStringName

MySQL:MYSQLCONNSTR_myConnStringName

SQL数据库:SQLAZURECONNSTR_myConnStringName

自定义:CUSTOMCONNSTR_myConnStringName

SQL Azure:SQLAZURECONNSTR_myConnStringName

知道了,我们可以使用以下代码检索所需的连接字符串:

connString = 
    Environment.GetEnvironmentVariable("SQLAZURECONNSTR_myConnStringName");
Run Code Online (Sandbox Code Playgroud)

其他选择

作为另一个选项,这篇关于如何通过web.config访问连接字符串的相关帖子如下:

<add name="myConnStringName" 
    connectionString="you can leave this blank"
    providerName="System.Data.SqlClient" />  
Run Code Online (Sandbox Code Playgroud)

注意:我们可能不必包含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>
Run Code Online (Sandbox Code Playgroud)

目前为止就这样了.