ASP.NET-alkalmazás konfigurálása Azure App Service

Megjegyzés

A ASP.NET Core lásd: ASP.NET Core alkalmazás konfigurálása Azure App Service. Ha a ASP.NET-alkalmazás egyéni Windows- vagy Linux-tárolóban fut, olvassa el az Egyéni tároló konfigurálása Azure App Service című témakört.

ASP.NET alkalmazásokat lefordított bináris fájlokként kell üzembe helyezni Azure App Service. A Visual Studio közzétételi eszköze létrehozza a megoldást, majd közvetlenül telepíti a lefordított bináris fájlokat, míg a App Service üzembehelyezési motor először üzembe helyezi a kódtárat, majd lefordítja a bináris fájlokat.

Ez az útmutató ASP.NET fejlesztők számára nyújt alapvető fogalmakat és utasításokat. Ha még soha nem használta Azure App Service, először kövesse a ASP.NET rövid útmutatót és ASP.NET SQL Database oktatóanyagot.

Támogatott .NET-keretrendszer futtatókörnyezeti verziók megjelenítése

App Service a Windows-példányokon már telepítve van az összes támogatott .NET-keretrendszer verzió. Az elérhető .NET-keretrendszer futtatókörnyezeti és SDK-verziók megjelenítéséhez keresse meg https://<app-name>.scm.azurewebsites.net/DebugConsole és futtassa a megfelelő parancsot a böngészőalapú konzolon:

A CLR 4 futtatókörnyezeti verziói (.NET-keretrendszer 4-.NET-keretrendszer vagy újabb verziók esetén):

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

Előfordulhat, hogy a legújabb .NET-keretrendszer verzió nem érhető el azonnal.

CLR 2 futtatókörnyezeti verziók (.NET-keretrendszer 3.5-ös és újabb verziók esetén):

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

Aktuális .NET-keretrendszer futtatókörnyezeti verzió megjelenítése

Futtassa a következő parancsot a Cloud Shell:

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

Az érték azt v4.0 jelenti, hogy a rendszer a CLR 4 legújabb verzióját (.NET-keretrendszer 4.x) használja. Az érték v2.0 egy CLR 2-es verziót (.NET-keretrendszer 3.5) használ.

.NET-keretrendszer futtatókörnyezet verziójának beállítása

Alapértelmezés szerint App Service a legújabb támogatott .NET-keretrendszer verziót használja a ASP.NET alkalmazás futtatásához. Ha inkább a .NET-keretrendszer 3.5-ös verzióval szeretné futtatni az alkalmazást, futtassa a következő parancsot a Cloud Shell (a 2.0-s verzió a CLR 2-t jelöli):

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

Hozzáférés a környezeti változókhoz

A App Service alkalmazásbeállításokat és kapcsolati sztringeket állíthat be az alkalmazáskódon kívül. Ezután bármely osztályban elérheti őket a standard ASP.NET mintával:

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

Ha ugyanazzal a névvel konfigurál egy alkalmazásbeállítást App Service és web.config, a App Service érték elsőbbséget élvez a web.config értékkel szemben. A helyi web.config érték lehetővé teszi az alkalmazás helyi hibakeresését, de a App Service érték lehetővé teszi az alkalmazás éles környezetben való futtatását. A kapcsolati sztringek ugyanúgy működnek. Így az alkalmazás titkos kódját a kódtáron kívül is megtarthatja, és a kód módosítása nélkül elérheti a megfelelő értékeket.

Többprojektes megoldások üzembe helyezése

Ha egy Visual Studio-megoldás több projektet is tartalmaz, a Visual Studio közzétételi folyamata már magában foglalja az üzembe helyezendő projekt kiválasztását. Amikor üzembe helyezi az App Service központi telepítési motort, például a Gittel, vagy ha engedélyezve van a ZIP üzembe helyezése, és engedélyezve van a buildautomatizálás, a App Service üzembehelyezési motor az első App Service alkalmazásként talált webhelyet vagy webalkalmazás-projektet választja. Az alkalmazásbeállítás megadásával PROJECT megadhatja, hogy melyik projektet App Service használni. Futtassa például a következőket a Cloud Shell:

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

Részletes kivételek lekérése lap

Ha a ASP.NET alkalmazás kivételt hoz létre a Visual Studio hibakeresőjében, a böngésző egy részletes kivételoldalt jelenít meg, de App Service az adott lapot egy általános hibaüzenet váltja fel. A részletes kivételoldal App Service való megjelenítéséhez nyissa meg a Web.config fájlt, és adja hozzá az <customErrors mode="Off"/> elemet az <system.web> elem alá. Például:

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

Telepítse újra az alkalmazást a frissített Web.config. Most már ugyanazt a részletes kivételoldalt kell látnia.

Diagnosztikai naplók elérése

Diagnosztikai üzeneteket adhat hozzá az alkalmazás kódjához a System.Diagnostics.Trace használatával. Például:

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

Az alkalmazáskódból létrehozott konzolnaplók App Service-ben történő eléréséhez kapcsolja be a diagnosztikai naplózást a következő parancs a Cloud Shellben történő futtatásával:

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

A --level lehetséges értékei: Error, Warning, Info és Verbose. Minden szint tartalmazza az azt megelőző szintet. Például: az Error csak a hibaüzeneteket tartalmazza, a Verbose pedig az összes üzenetet.

Ha a diagnosztikai naplózás be van kapcsolva, futtassa a következő parancsot a naplóstream megtekintéséhez:

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

Ha nem jelennek meg azonnal a konzolnaplófájlok, ellenőrizze ismét 30 másodperc múlva.

Megjegyzés

A naplófájlokat a böngészőből is megtekintheti a következő címen: https://<app-name>.scm.azurewebsites.net/api/logs/docker.

A Ctrl+C billentyűparanccsal bármikor leállíthatja a naplóstreamelést.

További erőforrások