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, zatímco modul nasazení služby App Service nasadí úložiště kódu nejprve a potom binární soubory zkompiluje.
Tato příručka obsahuje klíčové koncepty a pokyny pro vývojáře ASP.NET. Pokud jste službu Aplikace Azure Nikdy nepoužívali, nejprve si projděte kurz rychlý start ASP.NET a ASP.NET se službou SQL Database.
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 dostupné verze modulu runtime rozhraní .NET Framework a sady SDK, přejděte do https://<app-name>.scm.azurewebsites.net/DebugConsole
konzoly založené na prohlížeči a 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"
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
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í hodnota web.config umožňuje ladit aplikaci místně, ale 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í s více projekty
Pokud řešení sady Visual Studio obsahuje více projektů, proces publikování sady Visual Studio už zahrnuje výběr projektu, který se má nasadit. Když nasadíte do modulu nasazení služby App Service, například s Gitem nebo s nasazením ZIP s povolenou automatizací sestavení, modul nasazení služby App Service vybere první web nebo projekt webové aplikace, který najde jako aplikaci App Service. Zadáním nastavení aplikace můžete určit, který projekt má app Service používat PROJECT
. V Cloud Shellu například spusťte 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ískání podrobné stránky výjimky
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, ale tato stránka se ve službě App Service nahradí obecnou chybovou zprávou. 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 aktualizovanou 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 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
.