C# 调试localhost时使用Environment.GetEnvironmentVariable()访问Azure中的连接字符串
我正在尝试设置我的WebAPI项目,以便根据项目在Azure中部署到的环境动态获取正确的连接字符串。我使用以下堆栈溢出帖子作为排序示例: 在我的代码中,我试图设置这个值,但它返回空值C# 调试localhost时使用Environment.GetEnvironmentVariable()访问Azure中的连接字符串,c#,azure,asp.net-web-api,C#,Azure,Asp.net Web Api,我正在尝试设置我的WebAPI项目,以便根据项目在Azure中部署到的环境动态获取正确的连接字符串。我使用以下堆栈溢出帖子作为排序示例: 在我的代码中,我试图设置这个值,但它返回空值 private static readonly string _connStr = Environment.GetEnvironmentVariable("SQLAZURECONNSTR_conn"); 在my web.config中,连接字符串存储如下: <connectionStrings&g
private static readonly string _connStr =
Environment.GetEnvironmentVariable("SQLAZURECONNSTR_conn");
在my web.config中,连接字符串存储如下:
<connectionStrings>
<add name="conn" connectionString="{Connection string stuff}" />
</connectionStrings>
在Azure上的部署位置,我在我的应用程序服务的应用程序设置
部分设置了连接字符串。我的问题是,在本地测试时,我的连接字符串值没有在前面提到的代码行中设置
我明白了我不需要在我的
web.config
中添加SQLAZURECONNSTR\uu
段,并且Environment.GetEnvironmentVariable()
将检测环境,然后获取正确的连接字符串。但我开始怀疑这是不正确的。我错过什么了吗?非常感谢您的帮助。您误解了设置的工作原理
要获得设置,应使用
string connStr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
Azure将动态地将设置更改为您在那里设置的任何设置。此外,它还设置了一个名为SQLAZURECONNSTR_conn的环境变量。但是,除非您进行了设置,否则不会在本地环境中设置该变量。设置本身不会创建它
由于这是一个连接字符串,请确保在Web应用程序的连接字符串部分设置它,而不是在应用程序设置部分