Sdílet prostřednictvím


Běžné problémy, které způsobují recyklaci rolí Azure Cloud Service (Classic)

Důležité

Služba Cloud Services (Classic) je teď pro nové zákazníky zastaralá a bude vyřazena 31. srpna 2024 pro všechny zákazníky. Nová nasazení by měla používat nový model nasazení založený na Azure Resource Manageru na Azure Cloud Services (rozšířená podpora).

Tento článek popisuje některé běžné příčiny problémů s nasazením a obsahuje tipy pro řešení potíží, které vám pomůžou tyto problémy vyřešit. Indikací, že u aplikace existuje problém, je situace, kdy se instance role nespustí, nebo cyklicky prochází mezi inicializačním, zaneprázdněným a zastavovacím stavem.

Pokud váš problém s Azure není v tomto článku vyřešený, navštivte fóra Azure na webu Microsoft Q &A a Stack Overflow. Svůj problém můžete publikovat na těchto fórech nebo publikovat na @AzureSupport na Twitteru. Můžete také odeslat podpora Azure žádost. Pokud chcete odeslat žádost o podporu, na stránce podpora Azure vyberte Získat podporu.

Chybějící závislosti modulu runtime

Pokud role ve vaší aplikaci spoléhá na jakékoli sestavení, které není součástí rozhraní .NET Framework nebo spravované knihovny Azure, musíte toto sestavení explicitně zahrnout do balíčku aplikace. Mějte na paměti, že jiné architektury Microsoftu nejsou standardně v Azure dostupné. Pokud vaše role spoléhá na takovou architekturu, musíte tato sestavení přidat do balíčku aplikace.

Před sestavením a zabalení aplikace ověřte následující:

  • Pokud používáte Visual Studio, ujistěte se, že vlastnost Copy Local je nastavena na hodnotu True pro každé odkazované sestavení v projektu, které není součástí sady Azure SDK nebo rozhraní .NET Framework.
  • Ujistěte se, že soubor web.config neodkazuje v elementu kompilace na žádná nepoužívaná sestavení.
  • Akce sestavení každého souboru .cshtml je nastavena na Obsah. Tím zajistíte, aby se soubory v balíčku objevily správně, a umožníte, aby se v balíčku objevily další odkazované soubory.

Sestavení cílí na nesprávnou platformu.

Azure je 64bitové prostředí. Proto sestavení .NET zkompilovaná pro 32bitový cíl nebudou v Azure fungovat.

Role při inicializaci nebo zastavení vyvolává neošetřené výjimky.

Všechny výjimky, které jsou vyvolány metodami RoleEntryPoint třídy, která zahrnuje OnStart, OnStop a Run metody, jsou neošetřené výjimky. Pokud v některé z těchto metod dojde k neošetřené výjimce, role se recykluje. Pokud se role recykluje opakovaně, může při každém pokusu o spuštění vyvolat neošetřenou výjimku.

Metoda Run vrací roli

Metoda Run je určena ke spuštění neomezeně dlouho. Pokud váš kód přepíše metodu Run , měla by být trvale v režimu spánku. Pokud metoda Run vrátí, role se recykluje.

Nesprávné nastavení diagnostiky Připojení ionString

Pokud aplikace používá Azure Diagnostics, musí konfigurační soubor služby zadat DiagnosticsConnectionString nastavení konfigurace. Toto nastavení by mělo určovat připojení HTTPS k vašemu účtu úložiště v Azure.

Pokud chcete před nasazením balíčku aplikace do Azure zajistit správnost nastavení DiagnosticsConnectionString , ověřte následující:

  • Nastavení DiagnosticsConnectionString odkazuje na platný účet úložiště v Azure.
    Ve výchozím nastavení odkazuje toto nastavení na emulovaný účet úložiště, takže toto nastavení musíte explicitně změnit před nasazením balíčku aplikace. Pokud toto nastavení nezměníte, při pokusu instance role o spuštění diagnostického monitorování dojde k výjimce. To může způsobit, že instance role bude trvale recyklována.
  • Připojovací řetězec je zadán v následujícím formátu. (Protokol musí být zadán jako HTTPS.) Nahraďte MyAccountName názvem vašeho účtu úložiště a MyAccountKey přístupovým klíčem:
DefaultEndpointsProtocol=https;AccountName=MyAccountName;AccountKey=MyAccountKey

Pokud vyvíjíte aplikaci pomocí nástrojů Azure Tools for Microsoft Visual Studio, můžete k nastavení této hodnoty použít stránky vlastností.

Exportovaný certifikát nezahrnuje privátní klíč.

Pokud chcete spustit webovou roli v protokolu TLS, musíte zajistit, aby exportovaný certifikát pro správu obsahoval privátní klíč. Pokud k exportu certifikátu použijete Správce certifikátů systému Windows, nezapomeňte u možnosti Exportovat privátní klíč vybrat ano. Certifikát musí být exportován ve formátu PFX, což je jediný formát, který je aktuálně podporovaný.

Další kroky

Podívejte se na další články o řešení potíží pro cloudové služby.

Zobrazit další scénáře recyklace rolí na blogu Kevin Williamson.