Vanliga problem som gör att Azure Cloud Service-roller (klassiska) återanvänds

Viktigt!

Cloud Services (klassisk) är nu inaktuellt för nya kunder och kommer att dras tillbaka den 31 augusti 2024 för alla kunder. Nya distributioner bör använda den nya Azure Resource Manager-baserade distributionsmodellen Azure Cloud Services (utökad support).

Den här artikeln beskriver några av de vanligaste orsakerna till distributionsproblem och innehåller felsökningstips som hjälper dig att lösa dessa problem. En indikation på att det finns ett problem med ett program är när rollinstansen inte startar eller växlar mellan initierings-, upptagen- och stopptillstånden.

Om ditt Azure-problem inte åtgärdas i den här artikeln går du till Azure-forumen på Microsoft Q &A och Stack Overflow. Du kan publicera ditt problem i dessa forum eller publicera till @AzureSupport på Twitter. Du kan också skicka en Azure-supportbegäran. Om du vill skicka en supportbegäran går du till azure-supportsidan och väljer Hämta support.

Saknar körningsberoenden

Om en roll i ditt program förlitar sig på en sammansättning som inte ingår i .NET Framework eller det hanterade Azure-biblioteket måste du uttryckligen inkludera sammansättningen i programpaketet. Tänk på att andra Microsoft-ramverk inte är tillgängliga i Azure som standard. Om din roll förlitar sig på ett sådant ramverk måste du lägga till dessa sammansättningar i programpaketet.

Kontrollera följande innan du skapar och paketerar ditt program:

  • Om du använder Visual Studio kontrollerar du att egenskapen Kopiera lokal är inställd på Sant för varje refererad sammansättning i projektet som inte ingår i Azure SDK eller .NET Framework.
  • Kontrollera att filen web.config inte refererar till några oanvända sammansättningar i kompileringselementet.
  • Byggåtgärdenför varje .cshtml-fil är inställd på Innehåll. Detta säkerställer att filerna visas korrekt i paketet och gör det möjligt för andra refererade filer att visas i paketet.

Sammansättningen pekar på fel plattform

Azure är en 64-bitars miljö. Därför fungerar inte .NET-sammansättningar som kompilerats för en 32-bitars målmiljö i Azure.

Rollen genererar ohanterade undantag vid initiering eller stopp

Alla undantag som genereras av metoderna i klassen RoleEntryPoint , som innehåller metoderna OnStart, OnStop och Run , är ohanterade undantag. Om ett ohanterat undantag inträffar i någon av dessa metoder återanvänds rollen. Om rollen återanvänds upprepade gånger kan den utlösa ett ohanterat undantag varje gång den försöker starta.

Rollen returneras från Run-metoden

Run-metoden är avsedd att köras på obestämd tid. Om koden åsidosätter run-metoden bör den ligga i viloläge på obestämd tid. Om metoden Run returnerar återanvänds rollen.

Felaktig diagnostik Anslut ionString-inställning

Om programmet använder Azure Diagnostics måste tjänstkonfigurationsfilen ange konfigurationsinställningen DiagnosticsConnectionString . Den här inställningen bör ange en HTTPS-anslutning till ditt lagringskonto i Azure.

Kontrollera följande för att säkerställa att inställningen DiagnosticsConnectionString är korrekt innan du distribuerar programpaketet till Azure:

  • Inställningen DiagnosticsConnectionString pekar på ett giltigt lagringskonto i Azure.
    Som standard pekar den här inställningen på det emulerade lagringskontot, så du måste uttryckligen ändra den här inställningen innan du distribuerar programpaketet. Om du inte ändrar den här inställningen utlöses ett undantag när rollinstansen försöker starta diagnostikövervakaren. Detta kan göra att rollinstansen återvinns på obestämd tid.
  • Anslutningssträng anges i följande format. (Protokollet måste anges som HTTPS.) Ersätt MyAccountName med namnet på ditt lagringskonto och MyAccountKey med din åtkomstnyckel:
DefaultEndpointsProtocol=https;AccountName=MyAccountName;AccountKey=MyAccountKey

Om du utvecklar ditt program med hjälp av Azure Tools för Microsoft Visual Studio kan du använda egenskapssidorna för att ange det här värdet.

Exporterat certifikat innehåller inte privat nyckel

Om du vill köra en webbroll under TLS måste du se till att det exporterade hanteringscertifikatet innehåller den privata nyckeln. Om du använder Windows Certificate Manager för att exportera certifikatet måste du välja Ja för alternativet Exportera den privata nyckeln . Certifikatet måste exporteras i PFX-format, vilket är det enda format som stöds för närvarande.

Nästa steg

Visa fler felsökningsartiklar för molntjänster.

Visa fler scenarier för rollåterställning i Kevin Williamsons bloggserie.