Konfigurera en ASP.NET-app för Azure App ServiceConfigure an ASP.NET app for Azure App Service

ASP.NET-appar måste distribueras till Azure App Service som kompilerade binärfiler.ASP.NET apps must be deployed to Azure App Service as compiled binaries. Verktyget Visual Studio Publishing skapar lösningen och distribuerar sedan de kompilerade binärfilerna direkt, medan App Service distributions motor distribuerar kod databasen först och kompilerar sedan binärfilerna.The Visual Studio publishing tool builds the solution and then deploys the compiled binaries directly, whereas the App Service deployment engine deploys the code repository first and then compiles the binaries.

Den här guiden innehåller viktiga begrepp och instruktioner för ASP.NET-utvecklare.This guide provides key concepts and instructions for ASP.NET developers. Om du aldrig har använt Azure App Service, följ själv studie kursen ASP.net snabb start och ASP.net med SQL Database .If you've never used Azure App Service, follow the ASP.NET quickstart and ASP.NET with SQL Database tutorial first.

Visa .NET Framework runtime-versioner som stödsShow supported .NET Framework runtime versions

I App Service har Windows-instanser redan alla .NET Framework-versioner som stöds installerade.In App Service, the Windows instances already have all the supported .NET Framework versions installed. Om du vill visa de .NET Framework Runtime-och SDK-versioner som är tillgängliga går du till https://<app-name>.scm.azurewebsites.net/DebugConsole och kör lämpligt kommando i den webbläsarbaserade konsolen:To show the .NET Framework runtime and SDK versions available to you, navigate to https://<app-name>.scm.azurewebsites.net/DebugConsole and run the appropriate command in the browser-based console:

För CLR 4 Runtime-versioner (.NET Framework 4 och senare):For CLR 4 runtime versions (.NET Framework 4 and above):

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

Den senaste versionen av .NET Framework kanske inte är omedelbart tillgänglig.Latest .NET Framework version may not be immediately available.

För CLR 2 Runtime-versioner (.NET Framework 3,5 och senare):For CLR 2 runtime versions (.NET Framework 3.5 and below):

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

Visa aktuell .NET Framework körnings versionShow current .NET Framework runtime version

Kör följande kommando i Cloud Shell:Run the following command in the Cloud Shell:

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

Värdet v4.0 innebär att den senaste CLR 4-versionen (.NET Framework 4. x) används.A value of v4.0 means the latest CLR 4 version (.NET Framework 4.x) is used. Värdet innebär att v2.0 en CLR 2-version (.NET Framework 3,5) används.A value of v2.0 means a CLR 2 version (.NET Framework 3.5) is used.

Ange .NET Framework körnings versionSet .NET Framework runtime version

Som standard använder App Service den senaste .NET Framework versionen som stöds för att köra din ASP.NET-app.By default, App Service uses the latest supported .NET Framework version to run your ASP.NET app. Kör appen med .NET Framework 3,5 i stället genom att köra följande kommando i Cloud Shell (v 2.0 indikerar CLR 2):To run your app using .NET Framework 3.5 instead, run the following command in the Cloud Shell (v2.0 signifies CLR 2):

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

Få åtkomst till miljövariablerAccess environment variables

I App Service kan du Ange appinställningar och anslutnings strängar utanför appens kod.In App Service, you can set app settings and connection strings outside of your app code. Sedan kan du komma åt dem i vilken klass som helst med standard mönstret för ASP.NET:Then you can access them in any class using the standard ASP.NET pattern:

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

Om du konfigurerar en app-inställning med samma namn i App Service och i web.config har App Service värdet företräde framför web.config svärdet.If you configure an app setting with the same name in App Service and in web.config, the App Service value takes precedence over the web.config value. Med det lokala web.config -värdet kan du felsöka appen lokalt, men App Service-värdet låter appen köras i produkt med produktions inställningar.The local web.config value lets you debug the app locally, but the App Service value lets your run the app in product with production settings. Anslutnings strängar fungerar på samma sätt.Connection strings work in the same way. På så sätt kan du behålla dina program hemligheter utanför din kod lagrings plats och få till gång till lämpliga värden utan att ändra koden.This way, you can keep your application secrets outside of your code repository and access the appropriate values without changing your code.

Distribuera lösningar för flera projektDeploy multi-project solutions

När en Visual Studio-lösning innehåller flera projekt inkluderar publicerings processen i Visual Studio redan att välja det projekt som ska distribueras.When a Visual Studio solution includes multiple projects, the Visual Studio publish process already includes selecting the project to deploy. När du distribuerar till App Service distributions motor, t. ex. med git eller med ZIP-distribution, med build-automatisering aktiverat, väljer App Service distributions motor den första webbplatsen eller det webb programs projekt som hittas som App Service-appen.When you deploy to the App Service deployment engine, such as with Git or with ZIP deploy, with build automation turned on, the App Service deployment engine picks the first Web Site or Web Application Project it finds as the App Service app. Du kan ange vilket projekt App Service ska använda genom att ange PROJECT appens inställning.You can specify which project App Service should use by specifying the PROJECT app setting. Kör till exempel följande i Cloud Shell:For example, run the following in the Cloud Shell:

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

Sidan Hämta detaljerade undantagGet detailed exceptions page

När ASP.NET-appen genererar ett undantag i Visual Studio-felsökaren visar webbläsaren en detaljerad undantags sida, men i App Service sidan ersätts av ett allmänt fel meddelande.When your ASP.NET app generates an exception in the Visual Studio debugger, the browser displays a detailed exception page, but in App Service that page is replaced by a generic error message. Om du vill visa sidan detaljerad undantag i App Service öppnar du Web.config -filen och lägger till <customErrors mode="Off"/> elementet under <system.web> elementet.To display the detailed exception page in App Service, open the Web.config file and add the <customErrors mode="Off"/> element under the <system.web> element. Exempel:For example:

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

Distribuera om din app med den uppdaterade Web.config. Nu bör du se samma detaljerade undantags sida.Redeploy your app with the updated Web.config. You should now see the same detailed exception page.

Få åtkomst till diagnostikloggarAccess diagnostic logs

Du kan lägga till diagnostiska meddelanden i din program kod med hjälp av system. Diagnostics. trace.You can add diagnostic messages in your application code using System.Diagnostics.Trace. Exempel:For example:

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

Om du vill komma åt konsolloggarna som genereras i din programkod i App Service aktiverar du diagnostisk loggning genom att köra följande kommando i Cloud Shell:To access the console logs generated from inside your application code in App Service, turn on diagnostics logging by running the following command in the Cloud Shell:

az webapp log config --resource-group <resource-group-name> --name <app-name> --application-logging true --level Verbose

Möjliga värden för --level är: Error, Warning, Info och Verbose.Possible values for --level are: Error, Warning, Info, and Verbose. Varje efterföljande nivå omfattar den föregående nivån.Each subsequent level includes the previous level. Exempel: Error omfattar endast felmeddelanden och Verbose omfattar alla meddelanden.For example: Error includes only error messages, and Verbose includes all messages.

När diagnostisk loggning har aktiverats kör du följande kommando för att visa loggströmmen:Once diagnostic logging is turned on, run the following command to see the log stream:

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

Om du inte ser konsolloggarna omedelbart kan du titta efter igen efter 30 sekunder.If you don't see console logs immediately, check again in 30 seconds.

Anteckning

Du kan även granska loggfilerna från din webbläsare via https://<app-name>.scm.azurewebsites.net/api/logs/docker.You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Skriv Ctrl+C när som helst för att stoppa loggströmningen.To stop log streaming at any time, type Ctrl+C.

Nästa stegNext steps