2012-09-15 8 views
5

Sto cercando la stringa di connessione che è necessario definire per utilizzare l'emulatore di archiviazione di Windows Azure.Stringa di connessione dell'emulatore di archiviazione di Windows Azure per ASP.NET MVC?

Finora, tutte le fonti che ho trovato dicono che queste stringhe di connessione dovrebbero andare ai file ServiceDefinition e ServiceConfiguration che si trovano nel progetto Windows Azure. Tuttavia, non sto utilizzando il progetto Azure ma ASP.NET MVC 3.

Per, progetto ASP.NET MVC, dovrebbe probabilmente andare al file web.config. Tuttavia, non ho idea di come dovrebbe essere?

Possiedo un account Azure se è necessario per l'emulatore.

Grazie.

risposta

12

Poiché questo article dice connectionstring è DevelopmentStorage=true

Quindi, in web.config è possibile utilizzare:

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

In ServiceConfiguration.cscfg:

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

È possibile utilizzare CloudConfigurationManager otterrà la configurazione dalle impostazioni di Configratuon del servizio, se esistente. Usalo piace questo:

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

Se esso non esiste in ServiceConfiguration cadrà di nuovo alle impostazioni delle applicazioni del vostro web.config. In questo modo se si sposta l'applicazione in Azure se si desidera e non si deve modificare nulla nel modo in cui si recuperano le stringhe di connessione. Tendo a nasconderlo tutto in un'interfaccia ISettingsProvider (quindi non mi occupo di nulla) ma probabilmente è eccessivo.

Il vantaggio principale di mettere la connessione in ServiceConfiguration è che è possibile modificare le impostazioni senza dover ridistribuire l'applicazione.

Se si sceglie di utilizzare web.config, è possibile utilizzare transform per scambiare l'account developmentstorage con un account reale alla pubblicazione. Se si utilizza Azure, è sufficiente disporre di una stringa di connessione diversa nella configurazione del servizio Cloud.

Non è necessario un account Azure per eseguire l'emulatore.