Problemen met Azure Cloud Service-rollen (klassiek) oplossen die niet kunnen worden gestart

Belangrijk

Cloud Services (klassiek) is nu afgeschaft voor nieuwe klanten en wordt op 31 augustus 2024 buiten gebruik gesteld voor alle klanten. Nieuwe implementaties moeten gebruikmaken van het nieuwe op Azure Resource Manager gebaseerde implementatiemodel Azure Cloud Services (uitgebreide ondersteuning).

Hier volgen enkele veelvoorkomende problemen en oplossingen met betrekking tot Azure Cloud Services-rollen die niet kunnen worden gestart.

Als uw Azure-probleem niet wordt opgelost in dit artikel, gaat u naar de Azure-forums op Microsoft Q & A en Stack Overflow. U kunt uw probleem posten in deze forums of posten op @AzureSupport op Twitter. U kunt ook een Azure-ondersteuningsaanvraag indienen. Als u een ondersteuningsaanvraag wilt indienen, selecteert u op de pagina Azure-ondersteuningOndersteuning krijgen.

Ontbrekende DLL's of afhankelijkheden

Niet-reagerende rollen en rollen die fietsen tussen de status Initialiseren, Bezet en Stoppen , kunnen worden veroorzaakt door ontbrekende DLL's of assembly's.

Symptomen van ontbrekende DLL's of assembly's kunnen zijn:

  • Uw rolinstantie fietst door de status Initialiseren, Bezet en Stoppen .
  • Uw rolinstantie is verplaatst naar Gereed , maar als u naar uw webtoepassing navigeert, wordt de pagina niet weergegeven.

Er zijn verschillende aanbevolen methoden voor het onderzoeken van deze problemen.

Ontbrekende DLL-problemen in een webrol vaststellen

Wanneer u naar een website navigeert die is geïmplementeerd in een webrol en de browser een serverfout weergeeft die vergelijkbaar is met het volgende, kan dit erop wijzen dat er een DLL ontbreekt.

Server Error in '/' Application.

Problemen diagnosticeren door aangepaste fouten uit te schakelen

Meer volledige foutinformatie kan worden weergegeven door de web.config voor de webrol te configureren om de aangepaste foutmodus in te stellen op Uit en de service opnieuw te implementeren.

Als u meer volledige fouten wilt weergeven zonder Extern bureaublad te gebruiken:

  1. Open de oplossing in Microsoft Visual Studio.

  2. Zoek in Solution Explorer het bestand web.config en open het.

  3. Zoek in het bestand web.config de sectie system.web en voeg de volgende regel toe:

    <customErrors mode="Off" />
    
  4. Sla het bestand op.

  5. De service opnieuw verpakken en opnieuw implementeren.

Zodra de service opnieuw is geïmplementeerd, ziet u een foutbericht met de naam van de ontbrekende assembly of DLL.

Problemen vaststellen door de fout extern weer te geven

U kunt Extern bureaublad gebruiken om toegang te krijgen tot de rol en meer volledige foutinformatie op afstand weer te geven. Gebruik de volgende stappen om de fouten weer te geven met behulp van Extern bureaublad:

  1. Zorg ervoor dat Azure SDK 1.3 of hoger is geïnstalleerd.
  2. Schakel Extern bureaublad in tijdens de implementatie van de oplossing met behulp van Visual Studio. Zie Extern bureaublad-Verbinding maken ion inschakelen voor een rol in Azure Cloud Services met behulp van Visual Studio voor meer informatie.
  3. Zodra in de Microsoft Azure-portal de status Gereed is, wordt op afstand in het exemplaar weergegeven. Zie Extern in rolinstanties voor meer informatie over het gebruik van het externe bureaublad met Cloud Services.
  4. Meld u aan bij de virtuele machine met behulp van de referenties die zijn opgegeven tijdens de configuratie van Extern bureaublad.
  5. Open een opdrachtvenster.
  6. Typ IPconfig.
  7. Noteer de IPV4-adreswaarde.
  8. Open Internet Explorer.
  9. Typ het adres en de naam van de webtoepassing. Bijvoorbeeld: http://<IPV4 Address>/default.aspx.

Als u naar de website navigeert, worden nu meer expliciete foutberichten geretourneerd:

  • Serverfout in toepassing '/'.
  • Beschrijving: Er is een niet-verwerkte uitzondering opgetreden tijdens de uitvoering van de huidige webaanvraag. Raadpleeg de stack-trace voor meer informatie over de fout en waar deze afkomstig is van de code.
  • Uitzonderingsdetails: System.IO.FIleNotFoundException: Kan bestand of assembly 'Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf856ad364e35' of een van de bijbehorende afhankelijkheden niet laden. Het systeem kan het opgegeven bestand niet vinden.

Voorbeeld:

Explicit Server Error in '/' Application

Problemen vaststellen met behulp van de rekenemulator

U kunt de Microsoft Azure Compute Emulator gebruiken om problemen met ontbrekende afhankelijkheden en web.config-fouten vast te stellen en op te lossen.

Voor de beste resultaten bij het gebruik van deze diagnosemethode moet u een computer of virtuele machine met een schone installatie van Windows gebruiken. Gebruik Windows Server 2008 R2 x64 om de Azure-omgeving het beste te simuleren.

  1. Installeer de zelfstandige versie van de Azure SDK.
  2. Bouw op de ontwikkelcomputer het cloudserviceproject.
  3. Navigeer in Windows Verkenner naar de map bin\debug van het cloudserviceproject.
  4. Kopieer de map .csx en het CSCFG-bestand naar de computer die u gebruikt om de problemen op te sporen.
  5. Open op de schone machine een azure SDK-opdrachtpromptvenster en typ csrun.exe /devstore:start.
  6. Typ bij de opdrachtprompt run csrun <path to .csx folder> <path to .cscfg file> /launchBrowser.
  7. Wanneer de rol wordt gestart, ziet u gedetailleerde foutinformatie in Internet Explorer. U kunt ook de standaardhulpprogramma's voor windows-probleemoplossing gebruiken om het probleem verder te diagnosticeren.

Problemen diagnosticeren met behulp van IntelliTrace

Voor werkrollen en webrollen die gebruikmaken van .NET Framework 4, kunt u IntelliTrace gebruiken, die beschikbaar is in Microsoft Visual Studio Enterprise.

Volg deze stappen om de service te implementeren waarvoor IntelliTrace is ingeschakeld:

  1. Controleer of Azure SDK 1.3 of hoger is geïnstalleerd.
  2. Implementeer de oplossing met behulp van Visual Studio. Schakel tijdens de implementatie het selectievakje IntelliTrace inschakelen voor .NET 4-rollen in.
  3. Zodra het exemplaar is gestart, opent u Server Explorer.
  4. Vouw het knooppunt Azure\Cloud Services uit en zoek de implementatie.
  5. Vouw de implementatie uit totdat u de rolinstanties ziet. Klik met de rechtermuisknop op een van de exemplaren.
  6. Kies IntelliTrace-logboeken weergeven. De Samenvatting van IntelliTrace wordt geopend.
  7. Zoek de sectie uitzonderingen van de samenvatting. Als er uitzonderingen zijn, wordt de sectie gelabeld als Uitzonderingsgegevens.
  8. Vouw de uitzonderingsgegevens uit en zoek naar System.IO.FileNotFoundException-fouten die vergelijkbaar zijn met de volgende:

Exception data, missing file, or assembly

Ontbrekende DLL's en assembly's adres

Voer de volgende stappen uit om ontbrekende DLL- en assemblyfouten op te lossen:

  1. Open de oplossing in Visual Studio.
  2. Open in Solution Explorer de map Verwijzingen .
  3. Klik op de assembly die in de fout is geïdentificeerd.
  4. Zoek in het deelvenster Eigenschappen de eigenschap Lokaal kopiëren en stel de waarde in op Waar.
  5. Implementeer de cloudservice opnieuw.

Nadat u hebt gecontroleerd of alle fouten zijn gecorrigeerd, kunt u de service implementeren zonder het selectievakje IntelliTrace inschakelen voor .NET 4-rollen in te schakelen.

Volgende stappen

Bekijk meer artikelen over probleemoplossing voor cloudservices.

Zie de blogreeks van Kevin Williamson voor meer informatie over het oplossen van problemen met cloudservicerollen met behulp van diagnostische gegevens van Azure PaaS-computers.