Konfigurace ASP.NET aplikace pro Azure App Service

Poznámka

Další ASP.NET Core v tématu Konfigurace ASP.NET Core aplikace pro Azure App Service

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

Tato příručka obsahuje klíčové koncepty a pokyny pro ASP.NET vývojáře. Pokud jste ho ještě nikdy nepouží Azure App Service, postupujte podle ASP.NET startu a ASP.NET s SQL Database kurzem.

Zobrazení podporovaných .NET Framework runtime

V App Service, Windows instance již mají nainstalované všechny podporované .NET Framework verze. Pokud chcete zobrazit .NET Framework runtime a verze sady SDK, přejděte na a spusťte příslušný příkaz v konzole https://<app-name>.scm.azurewebsites.net/DebugConsole založené na prohlížeči:

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

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

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

Verze modulu runtime CLR 2 (.NET Framework verze 3.5 a nižší):

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

Zobrazení aktuální .NET Framework runtime

V okně spusťte následující Cloud Shell:

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

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

Nastavení .NET Framework runtime

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

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

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

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

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 v App Service a web.config, bude mít hodnota App Service přednost předweb.config hodnotou. Místní hodnota web.config umožňuje ladit aplikaci místně, ale hodnota App Service umožňuje spustit aplikaci 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 ponechat mimo úložiště kódu a přistupovat k příslušným hodnotám beze změny kódu.

Nasazení řešení s více projekty

Pokud Visual Studio řešení obsahuje více projektů, Visual Studio publikování již zahrnuje výběr projektu, který se má nasadit. Když nasadíte do modulu pro nasazení App Service, například pomocí Gitu, nebo s povoleným nasazením souboru ZIP s povolenou automatizací sestavení ,modul pro nasazení App Service vybere první web nebo webovou aplikaci Project kterou najde jako aplikaci App Service. Zadáním nastavení aplikace můžete určit, App Service se má projekt PROJECT použít. Například spusťte následující příkaz v Cloud Shell:

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

Stránka s podrobnými výjimkami

Když vaše ASP.NET aplikace vygeneruje výjimku v ladicím programu Visual Studio, prohlížeč zobrazí podrobnou stránku výjimky, ale v App Service se tato stránka nahradí obecnou chybovou zprávou. Pokud chcete zobrazit podrobnou stránku výjimky v App Service, otevřete souborWeb.config a přidejte element pod <customErrors mode="Off"/> element <system.web> . Příklad:

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

Znovu nasaďte aplikaci s aktualizovanou Web.config. Měla by se 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í metody 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 rámci 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, Info a Verbose. Každá další úroveň zahrnuje předchozí úroveň. Například Error zahrnuje jenom chybové zprávy a Verbose zahrnuje všechny zprávy.

Jakmile je aktivované protokolování diagnostiky, spusťte následující příkaz pro zobrazení streamu protokolů:

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

Pokud nevidíte protokoly konzoly okamžitě, podívejte se znovu za 30 sekund.

Poznámka

Soubory protokolu můžete také zkontrolovat v prohlížeči na https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Streamování protokolů můžete kdykoli zastavit zadáním Ctrl+C.

Další zdroje informací