Sdílet prostřednictvím


Konfigurace aplikace ASP.NET pro službu Azure App Service

Poznámka:

Informace o ASP.NET Core najdete v tématu Konfigurace aplikace ASP.NET Core pro službu Aplikace Azure Service. Pokud vaše ASP.NET aplikace běží ve vlastním kontejneru Windows nebo Linuxu, přečtěte si téma Konfigurace vlastního kontejneru pro službu Aplikace Azure Service.

ASP.NET aplikace musí být nasazeny do služby Aplikace Azure Service jako kompilované binární soubory. Nástroj pro publikování sady Visual Studio sestaví řešení a pak nasadí kompilované binární soubory přímo. Modul nasazení služby App Service nejprve nasadí úložiště kódu a pak zkompiluje binární soubory.

Tato příručka obsahuje klíčové koncepty a pokyny pro vývojáře ASP.NET. Pokud se v tomto článku poprvé setkáte se službou Azure App Service, nejprve nasaďte webovou aplikaci ASP.NET a nasaďte aplikaci ASP.NET s databází Azure SQL do Azure .

Zobrazení podporovaných verzí modulu runtime rozhraní .NET Framework

Ve službě App Service už mají instance Windows nainstalované všechny podporované verze rozhraní .NET Framework. Pokud chcete zobrazit verze modulu runtime rozhraní .NET Framework a sady SDK, které máte k dispozici, přejděte do aplikace na webu Azure Portal. VyberteRozšířené nástroje>pro vývoj. Vyberte Spustit. V Kudu vyberte konzolu ladění pro CMD nebo PowerShell. V konzole založeném na prohlížeči spusťte příslušný příkaz:

Pro verze modulu runtime CLR 4 (.NET Framework 4 a vyšší):

ls "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework"

Nejnovější verze rozhraní .NET Framework nemusí být okamžitě dostupná.

Pro verze modulu runtime CLR 2 (.NET Framework 3.5 a novější):

ls "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework"

Pokud modul runtime, který vaše aplikace vyžaduje, není podporován, můžete ho nasadit s vlastním kontejnerem.

Zobrazení aktuální verze modulu runtime rozhraní .NET Framework

V Cloud Shellu spusťte následující příkaz:

az webapp config show --resource-group <resource-group-name> --name <app-name> --query netFrameworkVersion

Hodnota v4.0 znamená, že se používá nejnovější verze CLR 4 (.NET Framework 4.x). Hodnota v2.0 znamená, že se používá verze CLR 2 (.NET Framework 3.5).

Nastavení verze modulu runtime .NET Framework

Služba App Service ve výchozím nastavení používá k spuštění aplikace ASP.NET nejnovější podporovanou verzi rozhraní .NET Framework. Pokud chcete aplikaci spustit pomocí rozhraní .NET Framework 3.5, spusťte v Cloud Shellu následující příkaz (v2.0 označuje CLR 2):

az webapp config set --resource-group <resource-group-name> --name <app-name> --net-framework-version v2.0

Co se stane se zastaralými runtimy ve službě App Service?

Zastaralé moduly runtime jsou zastaralá údržbou organizace nebo mají významná ohrožení zabezpečení. Proto se odeberou z vytváření a konfigurace stránek na portálu. Pokud je zastaralý modul runtime skrytý na portálu, všechny aplikace, které stále používají tento modul runtime, budou dál běžet.

Pokud chcete vytvořit aplikaci se zastaralou verzí modulu runtime, která se už na portálu nezobrazuje, použijte Azure CLI, šablonu ARM nebo Bicep. Tyto alternativy nasazení umožňují vytvářet zastaralé moduly runtime, které se odeberou z portálu, ale stále se podporují.

Pokud je modul runtime plně odebraný z platformy Služby App Service, obdrží vlastník předplatného Azure před odebráním e-mailové oznámení.

Přístup k proměnným prostředí

Ve službě App Service můžete nastavit nastavení aplikace a připojovací řetězec mimo kód aplikace. Pak k nim můžete přistupovat v libovolné třídě pomocí standardního vzoru ASP.NET:

using System.Configuration;
...
// Get an app setting
ConfigurationManager.AppSettings["MySetting"];
// Get a connection string
ConfigurationManager.ConnectionStrings["MyConnection"];
}

Pokud nakonfigurujete nastavení aplikace se stejným názvem ve službě App Service a v souboru web.config, má hodnota služby App Service přednost před hodnotou web.config . Místní hodnotaweb.config umožňuje ladit aplikaci místně. Hodnota služby App Service umožňuje spuštění aplikace v produktu s produkčním nastavením. Připojovací řetězce fungují stejným způsobem. Tímto způsobem můžete tajné kódy aplikace uchovávat mimo úložiště kódu a přistupovat k příslušným hodnotám beze změny kódu.

Poznámka:

Zvažte bezpečnější možnosti připojení, které nevyžadují tajné kódy připojení vůbec. Další informace najdete v tématu Zabezpečené připojení ke službám a databázím Azure ze služby Aplikace Azure Service.

Nasazení řešení pro více projektů

Pokud řešení sady Visual Studio obsahuje více projektů, proces publikování sady Visual Studio zahrnuje výběr projektu, který se má nasadit. Když nasadíte do modulu nasazení služby App Service, například pomocí Gitu nebo nasazením ZIP s povolenou automatizací sestavení, modul nasazení služby App Service jako aplikaci App Service vybere první webovou stránku nebo projekt webové aplikace, který najde. Zadáním nastavení PROJECT aplikace můžete určit, který projekt má App Service používat. Spusťte například v Cloud Shellu následující příkaz:

az webapp config appsettings set --resource-group <resource-group-name> --name <app-name> --settings PROJECT="<project-name>/<project-name>.csproj"

Získat podrobnou stránku výjimek

Když aplikace ASP.NET vygeneruje výjimku v ladicím programu sady Visual Studio, zobrazí se v prohlížeči podrobná stránka výjimky. Obecná chybová zpráva nahrazuje tuto stránku ve službě App Service. Pokud chcete zobrazit podrobnou stránku výjimky ve službě App Service, otevřete soubor web.config a přidejte <customErrors mode="Off"/> prvek pod <system.web> element. Příklad:

<system.web>
    <customErrors mode="Off"/>
</system.web>

Znovu nasaďte aplikaci s aktualizovaným web.config. Teď by se měla zobrazit stejná podrobná stránka výjimky.

Přístup k diagnostickým protokolům

Diagnostické zprávy můžete do kódu aplikace přidat pomocí system.Diagnostics.Trace. Příklad:

Trace.TraceError("Record not found!"); // Error trace
Trace.TraceWarning("Possible data loss"); // Warning trace
Trace.TraceInformation("GET /Home/Index"); // Information trace

Pokud chcete získat přístup k protokolům konzoly vygenerovaným v kódu aplikace ve službě App Service, zapněte protokolování diagnostiky spuštěním následujícího příkazu v Cloud Shellu:

az webapp log config --resource-group <resource-group-name> --name <app-name> --docker-container-logging filesystem --level Verbose

Možné hodnoty pro --level jsou Error, Warning, Infoa Verbose. Každá další úroveň zahrnuje předchozí úroveň. Například Error obsahuje pouze chybové zprávy. Verbose obsahuje všechny zprávy.

Po zapnutí protokolování diagnostiky spuštěním následujícího příkazu zobrazte stream protokolu:

az webapp log tail --resource-group <resource-group-name> --name <app-name>

Pokud se protokoly konzoly nezobrazí okamžitě, zkontrolujte to znovu za 30 sekund.

Pokud chcete streamování protokolů kdykoli zastavit, vyberte Ctrl+C.