Esporta (0) Stampa
Espandi tutto

Avvio di ruoli di risoluzione dei problemi non completato

Aggiornamento: aprile 2014

Si applica a: Windows Azure SDK 1.0 e versioni successive

La mancata risposta da parte di ruoli e il passaggio ciclico di questi ultimi tra gli stati inizializzazione, occupato e arresto possono essere causati da DLL o assembly mancanti.

Sintomo: di seguito sono riportati i sintomi di DLL o assembly mancanti.

  • L'istanza del ruolo passa in modo ciclico tra "inizializzazione/occupato/arresto"

  • Lo stato dell'istanza del ruolo è ora "pronto", tuttavia se si passa all'applicazione Web la pagina non viene visualizzata

Soluzione: sono disponibili tre metodi consigliati per esaminare questi problemi.

Quando si passa a un sito Web distribuito in un ruolo Web e nel browser viene visualizzato un errore server simile al seguente:

Errore del server nell'applicazione '/'.

Se web.config per il ruolo Web viene configurato per impostare la modalità di errore personalizzata su disattivata e se si ridistribuisce il servizio, è possibile visualizzare errori più completi.

Per visualizzare errori più completi senza utilizzare Desktop remoto:

  1. Aprire la soluzione in Visual Studio.

  2. In Esplora soluzioni individuare il file web.config e aprirlo.

  3. Nel file web.config individuare la sezione system.web e aggiungere la riga seguente:

    <customErrors mode="Off" />
    
  4. Salvare il file.

  5. Ricreare il pacchetto e ridistribuire il servizio.

Quando il servizio viene ridistribuito, verrà visualizzato l'errore seguente con il nome dell'assembly o della DLL mancante.

È possibile utilizzare il desktop remoto per accedere al ruolo e visualizzare errori più completi in remoto.

Attenersi ai passaggi seguenti per visualizzare gli errori utilizzando Desktop remoto:

  1. Verificare che sia installato Windows Azure SDK 1.3 o versione successiva.

  2. Durante la distribuzione della soluzione tramite Visual Studio, scegliere "Configura connessioni Desktop remoto". Per ulteriori informazioni sulla configurazione di una connessione Desktop remoto, vedere la pagina relativa all'utilizzo di Desktop remoto con i ruoli Windows Azure.

  3. Nel Portale di gestione di Microsoft Azure una volta che per l'istanza viene mostrato lo stato Pronto, fare clic su una delle istanze del ruolo.

  4. Fare clic sull'icona Connetti nell'area Accesso remoto della barra multifunzione

  5. Accedere alla macchina virtuale utilizzando le credenziali specificate durante la configurazione di Desktop remoto.

  6. Aprire un prompt dei comandi.

  7. Digitare IPconfig.

  8. Annotare il valore dell'indirizzo IPV4.

  9. Aprire Internet Explorer.

  10. Digitare l'indirizzo e il nome dell'applicazione Web. Ad esempio http://<indirizzo IPV4>/default.aspx.

Se si passa al sito Web verranno restituiti messaggi di errore più espliciti.

  • Errore del server nell'applicazione '/'.

  • Descrizione: eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul punto di origine nel codice, vedere la traccia dello stack.

  • Dettagli dell'eccezione: System.IO.FIleNotFoundException: Impossibile caricare il file o l'assembly ‘Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf856ad364e35’ o una delle relative dipendenze. Impossibile trovare il file specificato.

Esempio:

Errore esplicito del server nell'applicazione '/'.

È possibile utilizzare l'Emulatore di calcolo di Azure di Azure per diagnosticare e risolvere i problemi di dipendenze mancanti e di errori di web.config.

Per ottenere risultati ottimali con questo metodo di diagnosi, è consigliabile utilizzare un computer o una macchina virtuale in cui è presente un'installazione pulita di Windows. Per simulare nel modo migliore l'ambiente di Azure è consigliabile utilizzare Windows Server 2008 R2 x64.

  1. Installare la versione autonoma di Azure SDK da http://www.microsoft.com/windowsazure/windowsazuresdk+tools/.

  2. Nel computer di sviluppo compilare il progetto di servizio cloud.

  3. In Esplora risorse passare alla cartella bin\debug del progetto di servizio cloud.

  4. Copiare la cartella con estensione csx e il file con estensione cscfg nel computer che si utilizza per eseguire il debug dei problemi.

  5. Nel computer pulito aprire un prompt dei comandi di Azure SDK e digitare csrun.exe /devstore:start.

  6. Nel prompt dei comandi digitare run csrun <percorso della cartella con estensione csx> <percorso del file con estensione cscfg> /launchBrowser.

  7. All'avvio del ruolo verranno visualizzate informazioni dettagliate sull'errore in Internet Explorer. È inoltre possibile utilizzare gli strumenti di risoluzione dei problemi di Windows per diagnosticare ulteriormente il problema.

Per i ruoli di lavoro e Web in cui viene utilizzato .NET Framework 4, è possibile utilizzare IntelliTrace che è disponibile in Microsoft Visual Studio Ultimate.

Attenersi a questi passaggi per distribuire il servizio con IntelliTrace abilitato:

  1. Verificare che sia installato Windows Azure SDK 1.3 o versione successiva.

  2. Distribuire la soluzione utilizzando Visual Studio. Durante la distribuzione, selezionare la casella di controllo Abilita IntelliTrace per ruoli .NET 4.

  3. Una volta avviata l'istanza, aprire Esplora server.



  4. Espandere il nodo Calcolo di Windows Azure e individuare la distribuzione.

  5. Espandere la distribuzione finché non vengono visualizzate le istanze del ruolo.

    Fare clic con il pulsante destro del mouse su una delle istanze.

  6. Selezionare Visualizza log IntelliTrace. Verrà aperto Riepilogo IntelliTrace.

  7. Individuare la sezione delle eccezioni del riepilogo. Se sono presenti eccezioni sarà denominata Dati eccezione.



  8. Espandere Dati eccezione e cercare errori System.IO.FileNotFoundException simili al seguente:

    Dati eccezione, assembly o file mancante

Per risolvere errori di assembly e DLL mancanti, effettuare le operazioni seguenti:

  1. Aprire la soluzione in Visual Studio.

  2. In Esplora soluzioni aprire la cartella Riferimenti.

  3. Fare clic sull'assembly specificato nell'errore.

  4. Nel riquadro Proprietà individuare la proprietà della copia locale e impostare il valore su True.

  5. Ridistribuire il servizio ospitato.

Una volta verificata la correzione di tutti gli errori, il servizio può essere distribuito senza selezionare l'impostazione Abilita IntelliTrace per ruoli .NET 4.

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft