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.