Översikt över ASP.NET Core
Av Daniel Roth, Rick Anderson, och Shaun Luttin
Not
Det här är inte den senaste versionen av den här artikeln. Den aktuella versionen finns i den .NET 9-versionen av den här artikeln.
Varning
Den här versionen av ASP.NET Core stöds inte längre. Mer information finns i .NET och .NET Core Support Policy. Den aktuella versionen av den här artikeln finns i .NET 9-versionen .
Viktig
Den här informationen gäller en förhandsversionsprodukt som kan ändras avsevärt innan den släpps kommersiellt. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, med avseende på den information som tillhandahålls här.
Du hittar information om den nuvarande utgåvan i versionen av .NET 9 av den här artikeln.
ASP.NET Core är ett plattformsoberoende, högpresterande ramverk med öppen källkod för att skapa moderna, molnaktiverade, Internetanslutna appar.
Med ASP.NET Core kan du:
- Skapa webbappar och tjänster, Azure IoT (Sakernas Internet) appar och mobila serverdelar.
- Använd dina favoritutvecklingsverktyg i Windows, macOS och Linux.
- Distribuera till molnet eller lokalt.
- Kör på .NET.
Varför välja ASP.NET Core?
Miljontals utvecklare använder eller har använt ASP.NET 4.x för att skapa webbappar. ASP.NET Core är en omdesign av ASP.NET 4.x, inklusive arkitektoniska ändringar som resulterar i ett smalare och mer modulärt ramverk.
ASP.NET Core ger följande fördelar:
- En enhetlig berättelse för att skapa webbgränssnitt och webb-API:er.
- Konstruerad för testbarhet.
- Razor Pages gör det enklare och mer produktivt att koda sidfokuserade scenarier.
- Blazor låter dig använda C# i webbläsaren tillsammans med JavaScript. Dela applogik på serversidan och på klientsidan som alla skrivs med .NET.
- Möjlighet att utveckla och köra i Windows, macOS och Linux.
- Öppen källkod och community-fokuserad.
- Integrering av moderna ramverk på klientsidan och utvecklingsarbetsflöden.
- Stöd för att hantera RPC-tjänster (Remote Procedure Call) med hjälp av gRPC-.
- Ett molnklart, miljöbaserat konfigurationssystem.
- Inbyggd beroendeinmatning.
- En lätt, högpresterandeoch modulär HTTP-begärandepipeline.
- Möjlighet att vara värd för följande:
- versionshantering sida vid sida.
- Verktyg som förenklar modern webbutveckling.
Skapa webb-API:er och webbgränssnitt med ASP.NET Core MVC
ASP.NET Core MVC innehåller funktioner för att skapa webb-API:er och webbappar:
- MVC-mönstret (Model-View-Controller) gör dina webb-API:er och webbappar testbara.
- Razor Pages är en sidbaserad programmeringsmodell som gör det enklare och mer produktivt att skapa webbgränssnittet.
- Razor ger en produktiv syntax för Razor Pages- och MVC-vyer.
- Tag Helpers aktivera kod på serversidan för att delta i skapandet och återgivningen av HTML-element i Razor filer.
- Inbyggt stöd för flera dataformat och innehållsförhandling gör att dina webb-API:er kan nå en mängd olika klienter, inklusive webbläsare och mobila enheter.
- Modellbindning automatiskt mappar data från HTTP-begäranden till åtgärdsmetodparametrar.
- Modellverifiering utför automatiskt validering på klientsidan och på serversidan.
Utveckling på klientsidan
ASP.NET Core innehåller Blazor för att skapa ett interaktivt webbgränssnitt och integreras även med andra populära JavaScript-ramverk som Angular, React, Vueoch Bootstrap. Mer information finns i ASP.NET Core Blazor och relaterade ämnen under utveckling på klientsidan.
ASP.NET Core-målramverk
ASP.NET Core 3.x eller senare kan endast rikta in sig på .NET.
Det finns flera fördelar med att rikta in sig på .NET, och dessa fördelar ökar för varje version. Några fördelar med .NET jämfört med .NET Framework är:
- Plattformsoberoende. Körs i Windows, macOS och Linux.
- Förbättrad prestanda
- versionshantering sida vid sida
- Nya API:er
- Öppen källkod
Rekommenderad utbildningsväg
Vi rekommenderar följande sekvens med självstudier för en introduktion till att utveckla ASP.NET Core-appar:
Följ en självstudiekurs för den apptyp som du vill utveckla eller underhålla.
Apptyp Scenario Handledning Webbapp Ny utveckling av webbgränssnittet på serversidan Kom igång med Razor Pages Webbapp Underhålla en MVC-app Kom igång med MVC Webbapp Utveckling av webbgränssnitt på klientsidan Kom igång med Blazor Webb-API RESTful HTTP-tjänster Skapa ett webb-API† App för fjärrproceduranrop Kontrakt först-tjänster med protokollbuffertar Kom igång med en gRPC-tjänst Realtidsapp Dubbelriktad kommunikation mellan servrar och anslutna klienter Kom igång med SignalR Följ en självstudiekurs som visar hur du utför grundläggande dataåtkomst.
Scenario Handledning Ny utveckling Razor sidor med Entity Framework Core Underhålla en MVC-app MVC med Entity Framework Core Läs en översikt över grunderna i ASP.NET Core som gäller för alla apptyper.
Bläddra i innehållsförteckningen efter andra intressanta ämnen.
†Det finns också en interaktiv webb-API-guide. Ingen lokal installation av utvecklingsverktyg krävs. Koden körs i en Azure Cloud Shell- i webbläsaren och curl- används för testning.
Migrera från .NET Framework
En referensguide för att migrera ASP.NET 4.x-appar till ASP.NET Core finns i Uppdatera från ASP.NET till ASP.NET Core.
ASP.NET Core är ett plattformsoberoende, högpresterande ramverk med öppen källkod för att skapa moderna, molnaktiverade, Internetanslutna appar. Med ASP.NET Core kan du:
- Skapa webbappar och tjänster, Azure IoT (Sakernas Internet) appar och mobila backend-tjänster.
- Använd dina favoritutvecklingsverktyg i Windows, macOS och Linux.
- Distribuera till molnet eller lokalt.
- Kör på .NET Core eller .NET Framework.
Varför välja ASP.NET Core?
Miljontals utvecklare använder eller har använt ASP.NET 4.x för att skapa webbappar. ASP.NET Core är en omdesign av ASP.NET 4.x, med arkitektoniska ändringar som resulterar i ett smalare och mer modulärt ramverk.
ASP.NET Core ger följande fördelar:
- En enhetlig berättelse för att skapa webbgränssnitt och webb-API:er.
- Konstruerad för testbarhet.
- Razor Pages gör det enklare och mer produktivt att koda sidfokuserade scenarier.
- Blazor låter dig använda C# i webbläsaren tillsammans med JavaScript. Dela applogik på serversidan och på klientsidan som alla skrivs med .NET.
- Möjlighet att utveckla och köra i Windows, macOS och Linux.
- Öppen källkod och community-orienterade.
- Integrering av moderna ramverk på klientsidan och utvecklingsarbetsflöden.
- Stöd för att hantera RPC-tjänster (Remote Procedure Call) med hjälp av gRPC-.
- Ett molnklart, miljöbaserat konfigurationssystem.
- Inbyggd beroendeinmatning.
- En lätt, högpresterandeoch modulär HTTP-begärandepipeline.
- Möjlighet att vara värd för följande:
- Versionshantering sida vid sida.
- Verktyg som förenklar modern webbutveckling.
Skapa webb-API:er och webbgränssnitt med ASP.NET Core MVC
ASP.NET Core MVC innehåller funktioner för att skapa webb-API:er och webbappar:
- MVC-mönstret (Model-View-Controller) gör dina webb-API:er och webbappar testbara.
- Razor Pages är en sidbaserad programmeringsmodell som gör det enklare och mer produktivt att skapa webbgränssnittet.
- Razor ger en produktiv syntax för Razor Pages och MVC-vyer.
- Tag Helpers aktivera kod på serversidan för att delta i skapandet och återgivningen av HTML-element i Razor filer.
- Inbyggt stöd för flera dataformat och innehållsförhandling gör att dina webb-API:er kan nå en mängd olika klienter, inklusive webbläsare och mobila enheter.
- Modellbindning automatiskt mappar data från HTTP-begäranden till åtgärdsmetodparametrar.
- Modellverifiering utför automatiskt validering på klientsidan och på serversidan.
Utveckling på klientsidan
ASP.NET Core integreras sömlöst med populära ramverk och bibliotek på klientsidan, inklusive Blazor, Angular, React, Vueoch Bootstrap. Mer information finns i ASP.NET Core Blazor och relaterade ämnen under utveckling på klientsidan.
ASP.NET Core som riktar in sig på .NET Framework
ASP.NET Core 2.x kan rikta in sig på .NET Core eller .NET Framework. ASP.NET Core-appar som riktar sig mot .NET Framework är inte plattformsoberoende – de körs endast i Windows. I allmänhet består ASP.NET Core 2.x av .NET Standard-bibliotek. Bibliotek skrivna med .NET Standard 2.0 körs på alla .NET-plattform som implementerar .NET Standard 2.0.
ASP.NET Core 2.x stöds i .NET Framework-versioner som implementerar .NET Standard 2.0:
- Den senaste versionen av .NET Framework rekommenderas.
- .NET Framework 4.6.1 eller senare.
ASP.NET Core 3.0 eller senare körs endast på .NET Core. Mer information om den här ändringen finns i En första titt på ändringar som kommer i ASP.NET Core 3.0.
Det finns flera fördelar med att rikta in sig på .NET Core, och dessa fördelar ökar för varje version. Några fördelar med .NET Core jämfört med .NET Framework är:
- Plattformsoberoende. Körs på macOS, Linux och Windows.
- Förbättrad prestanda
- versionshantering sida vid sida
- Nya API:er
- Öppen källkod
För att minska API-gapet från .NET Framework till .NET Core Windows Compatibility Pack gjort tusentals API:er endast för Windows tillgängliga i .NET Core. Dessa API:er var inte tillgängliga i .NET Core 1.x.
Rekommenderad utbildningsväg
Vi rekommenderar följande sekvens med självstudier och artiklar för en introduktion till att utveckla ASP.NET Core-appar:
Följ en självstudiekurs för den typ av app som du vill utveckla eller underhålla.
Apptyp Scenario Handledning Webbapp För ny utveckling Kom igång med Razor Pages Webbapp För att underhålla en MVC-app Kom igång med MVC Webb-API Skapa ett webb-API† Realtidsapp Kom igång med SignalR Följ en självstudiekurs som visar hur du utför grundläggande dataåtkomst.
Scenarie Handledning För ny utveckling Razor sidor med Entity Framework Core För att underhålla en MVC-app MVC med Entity Framework Core Läs en översikt över grunderna i ASP.NET Core som gäller för alla apptyper.
Bläddra i innehållsförteckningen efter andra intressanta ämnen.
†Det finns också en webb-API-självstudie som du följer helt i webbläsaren, ingen lokal IDE-installation krävs. Koden körs i en Azure Cloud Shell-och curl- används för testning.
Migrera från .NET Framework
En referensguide för att migrera ASP.NET appar till ASP.NET Core finns i Uppdatera från ASP.NET till ASP.NET Core.
Så här laddar du ned ett exempel
Många av artiklarna och självstudierna innehåller länkar till exempelkod.
- Ladda ned zip-filen för ASP.NET-lagringsplatsen.
- Packa upp
AspNetCore.Docs-main.zip
-filen. - Om du vill komma åt en artikels exempelapp på den uppackade lagringsplatsen använder du URL:en i artikelns exempellänk för att navigera till exempelmappen. Vanligtvis visas en artikels exempellänk överst i artikeln med länktexten Visa eller ladda ned exempelkod.
Förprocessordirektiv i exempelkod
För att demonstrera flera scenarier använder exempelappar direktiven #define
och #if-#else/#elif-#endif
förprocessor för att selektivt kompilera och köra olika delar av exempelkoden. För de exempel som använder den här metoden anger du #define
-direktivet överst i C#-filerna för att definiera symbolen som är associerad med det scenario som du vill köra. Vissa exempel kräver att du definierar symbolen överst i flera filer för att kunna köra ett scenario.
Följande #define
symbollista anger till exempel att fyra scenarier är tillgängliga (ett scenario per symbol). Aktuell exempelkonfiguration kör scenariot TemplateCode
:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Om du vill ändra exemplet för att köra ExpandDefault
scenariot definierar du ExpandDefault
-symbolen och lämnar de återstående symbolerna utkommenterade:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Mer information om hur du använder C#-förprocessordirektiv för att selektivt kompilera kodavsnitt finns i #define (C#-referens) och #if (C#-referens).
Störande förändringar och säkerhetsmeddelanden
Förändringar som inte är bakåtkompatibla och säkerhetsrekommendationer rapporteras på lagringsplatsen för Meddelanden . Meddelanden kan begränsas till en viss version genom att välja ett Etikett filter.
Nästa steg
Mer information finns i följande resurser:
- Kom igång med ASP.NET Core
- Publicera en ASP.NET Core-app till Azure med Visual Studio
- grunderna i ASP.NET Core
- Den veckovisa ASP.NET community standup- beskriver teamets framsteg och planer. Den innehåller nya bloggar och programvara från tredje part.
ASP.NET Core