2013-02-05 12 views
5

Ho un progetto ASP.NET MVC che utilizza Azure ed è stato implementato con successo a Azure. Tuttavia, quando si esegue il progetto localmente, non viene avviato l'emulatore di Azure.Come avviare l'emulatore Azure con un progetto ASP.NET MVC

L'unico modo che ho trovato di avviare l'emulatore Azure è quello di rendere scorciatoia ed eseguire un 'cloud Windows Azure Service' che manualmente.

C'è un modo per rendere le piste da garantire emulatore Azure quando inizio la mia app?

+0

Grazie per le risposte. Molto utile, ma come faccio a sapere se dovrei essere in esecuzione all'interno di un servizio Cloud però? Qual è il vantaggio? È questo il modo standard per fare lo sviluppo di Azure? Mi sto stancando del tempo di avvio e del modo in cui si spegne quando si interrompe il debugging in VS. – Tom

risposta

3

Ho un servizio cloud nello stesso progetto come il mio sito MVC. Dato che hai già creato il progetto MVC, prova questo ...

  1. Aggiungi un nuovo progetto Cloud alla tua soluzione. NON SELEZIONARE QUALSIASI RUOLO DURANTE L'AGGIUNTA.
  2. volta che il progetto Cloud è aggiungere, fare clic destro Ruoli e Slect ...
    • Add "Project Web Role in soluzione ..." Ci si sarà in grado di selezionare voi progetto MVC.
  3. Ultimo ma non meno importante, impostare il progetto Cloud come progetto di avvio e verrà avviato gli emulatori di elaborazione e archiviazione appropriati durante l'esecuzione locale.

Ho appena verificato questo in VS2012, erano passati un paio di mesi da quando l'avevo fatto.

0

Senza un progetto di servizi cloud all'interno della vostra soluzione, potrebbe essere difficile. Ci sono alcune cose che potresti fare:

  1. Avviare l'emulatore di memoria all'avvio del computer.
  2. Guarda come VS fa quando si avvia un progetto con il servizio cloud.
  3. Avvia l'emulatore di archiviazione nel codice quando si avvia il debug dell'applicazione. Che cosa si potrebbe fare è avviare il processo di emulatore di archiviazione nel vostro Application_Start() metodo che utilizza il codice simile a questo [E 'ovviamente un hack, e non certo un elegante uno :)]:

     protected void Application_Start() 
         { 
          AreaRegistration.RegisterAllAreas(); 
          WebApiConfig.Register(GlobalConfiguration.Configuration); 
          FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
          RouteConfig.RegisterRoutes(RouteTable.Routes); 
          BundleConfig.RegisterBundles(BundleTable.Bundles); 
    #if (DEBUG) 
          { 
           Process.Start(@"C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\devstore\DSServiceLDB.exe"); 
    
          } 
    #endif 
         } 
    

La mia ipotesi è con questo avresti bisogno di eseguire VS come amministratore. Ho provato il codice sopra, e ha funzionato bene. Il codice precedente presuppone che l'emulatore di archiviazione utilizzi LocalDB per l'archiviazione.

+0

Non è necessario scrivere codice per avviare manualmente il processo. Tutto ciò che devi fare è impostare il progetto CloudServices, quello contenente i tuoi ruoli, come progetto di avvio di Visual Studio. Quindi, solo F5 e via. – ryancrawcour

+0

Credo nella domanda originale, il progetto è un semplice progetto web MVC e non un progetto di servizi cloud. Per utilizzare il progetto di servizi cloud è sufficiente avviare l'emulatore di memoria è un IMO eccessivo. –

+0

Perché è stato downvoted? Sembra che sia stata la risposta effettiva ... – William

Problemi correlati