students microsoft management for azure web-config connection-string azure-cloud-services azure-configuration

for - microsoft management azure



Configure la aplicaciĆ³n ConnectionString en la configuraciĆ³n del servicio en lugar de web.config en Azure (3)

Básicamente, debe definir esta configuración en el archivo de configuración del servicio de Azure. Compruebe here . Una vez definidos estos se pueden cambiar desde el portal de Azure.

Actualmente tengo una aplicación en Azure y cada vez que la insertamos en el segmento de ensayo, no podemos realizar pruebas realmente ya que la cadena de conexión apunta a la base de datos de prod.

Alguien me mencionó que debería poder establecer la cadena de conexión en el archivo ServiceConfiguration.cscfg en su lugar (o con) el archivo web.config. De esa manera, puede cambiar la cadena de conexión en el portal de Azure en lugar de volver a publicar una aplicación who.

¿Alguien sabe como hacer esto?


En su archivo ServiceConfiguration.cscfg agregue:

<ServiceConfiguration ... /> <Role ... /> <ConfigurationSettings> <Setting name="DatabaseConnectionString" value="put your connection string here" /> </ConfigurationSettings> </Role> </ServiceConfiguration>

Ahora tiene una cadena de conexión que puede cambiar editando la configuración dentro del portal de Azure.

Luego, cuando necesite recuperar la cadena de conexión, puede hacerlo usando:

using Microsoft.WindowsAzure.ServiceRuntime; ... String connString = RoleEnvironment.GetConfigurationSettingValue("DatabaseConnectionString")

Es posible que deba agregar Microsoft.WindowsAzure.ServiceRuntime.dll a sus referencias.

RoleEnviroment.IsAvailable se puede usar para comprobar si se está ejecutando en Azure y, si no, volver a la configuración de web.config.

using System.Configuration; using Microsoft.WindowsAzure.ServiceRuntime; ... if (RoleEnvironment.IsAvailable) { return RoleEnvironment.GetConfigurationSettingValue("DatabaseConnectionString"); } else { return ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString; }

Este artículo tiene una explicación más detallada de lo anterior.


Para Entity Framework, no necesita proporcionar un nombre de proveedor, ya está dentro de la cadena de conexión. La razón por la que no funciona cuando está en una configuración azul es que contiene el símbolo & quot que se debe traducir a "antes de crear una nueva EntityConnection. Puede hacerlo usando HttpUtility.HtmlDecode en System.Web.