And*_*ndy 17 connection-string web-config azure azure-configuration azure-cloud-services
我目前在Azure中有一个应用程序,每当我们将它推入Staging段时,由于连接字符串指向prod数据库,我们无法真正测试.
有人向我提到,您应该能够在(而非)web.config文件中设置ServiceConfiguration.cscfg文件中的连接字符串.这样,您可以更改Azure门户中的连接字符串,而不是重新发布who app.
有谁知道如何做到这一点?
Dav*_*ele 26
在ServiceConfiguration.cscfg文件中添加:
<ServiceConfiguration ... />
<Role ... />
<ConfigurationSettings>
<Setting name="DatabaseConnectionString" value="put your connection string here" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过编辑azure门户中的配置来更改连接字符串.
然后,只要您需要检索连接字符串,就可以使用以下方法执行此操作:
using Microsoft.WindowsAzure.ServiceRuntime;
...
String connString = RoleEnvironment.GetConfigurationSettingValue("DatabaseConnectionString")
Run Code Online (Sandbox Code Playgroud)
您可能需要将Microsoft.WindowsAzure.ServiceRuntime.dll添加到您的引用.
RoleEnviroment.IsAvailable 可用于测试您是否在Azure中运行,如果不是,则回退到您的web.config设置.
using System.Configuration;
using Microsoft.WindowsAzure.ServiceRuntime;
...
if (RoleEnvironment.IsAvailable)
{
return RoleEnvironment.GetConfigurationSettingValue("DatabaseConnectionString");
}
else
{
return ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9263 次 |
| 最近记录: |