2012-09-15 12 views
5

Estoy buscando la cadena de conexión que debe definirse para usar Windows Azure Storage Emulator.Cadena de conexión del emulador de almacenamiento de Windows Azure para ASP.NET MVC?

Hasta ahora, todas las fuentes que he encontrado dicen que estas cadenas de conexión deberían ir a los archivos ServiceDefinition y ServiceConfiguration ubicados en el proyecto de Windows Azure. Sin embargo, no estoy usando el proyecto Azure, pero el ASP.NET MVC 3.

Para, el proyecto ASP.NET MVC, probablemente debería ir al archivo web.config. Sin embargo, no tengo idea de lo que debería ser?

Tengo una cuenta de Azure si es necesario para el emulador.

Gracias.

Respuesta

12

Como este article dice connectionstring es DevelopmentStorage=true

Así que en Web.config puede utilizar:

<appSettings> 
    <add key="StorageConnectionString" value="UseDevelopmentStorage=true" /> 
</appSettings> 

En ServiceConfiguration.cscfg:

<Setting name="StorageConnectionString" value="UseDevelopmentStorage=true" /> 

Usted puede utilizar CloudConfigurationManager se obtendrá la configuración desde la configuración de configuración del servicio si existe. Usarlo le gusta esto:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
    CloudConfigurationManager.GetSetting("StorageConnectionString")); 

Si no existe en ServiceConfiguration va a caer de nuevo a los parámetros de la aplicación de su web.config. De esta forma, si mueve la aplicación a Azure si lo desea y no tiene que cambiar nada en la forma en que recupera las cadenas de conexión. Tiendo a ocultarlo todo en una interfaz ISettingsProvider (así que no tomo ninguna dependencia de nada) pero eso probablemente sea excesivo.

El principal beneficio de poner conexión en la configuración del servicio es que puede cambiar la configuración sin tener que volver a implementar la aplicación.

Si decide usar web.config, puede usar la transformación para cambiar la cuenta de developmentgoingrage a una cuenta real en publish. Si usa Azure solo tiene una cadena de conexión diferente en la configuración del servicio de Cloud.

No necesita una cuenta real de Azure para ejecutar el emulador.

Cuestiones relacionadas