Freigeben über


Übersicht über ASP.NET Core

Von Daniel Roth, Rick Anderson und Shaun Luttin

Hinweis

Dies ist nicht die neueste Version dieses Artikels. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.

Warnung

Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der .NET- und .NET Core-Supportrichtlinie. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.

Wichtig

Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.

Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.

ASP.NET Core ist ein plattformübergreifendes Hochleistungsframework zum Erstellen moderner Webanwendungen. Mit diesem Open-Source-Framework können Entwickler Webanwendungen, Dienste und APIs erstellen, die unter Windows, macOS und Linux ausgeführt werden können. Sie ist für die entwicklung von großen Apps entwickelt und kann jede Größe von Arbeitsauslastungen verarbeiten, sodass sie eine robuste Wahl für Anwendungen auf Unternehmensebene ist.

ASP.NET Core ermöglicht Folgendes:

  • Erstellen Sie Web-Apps und -Dienste, Azure IoT (Internet of Things) -Apps und mobile Back-Ends.
  • Verwenden Ihrer bevorzugten Entwicklungstools unter Windows, macOS und Linux
  • Bereitstellen in der Cloud oder im lokalen System
  • Führen Sie die Ausführung auf .NET aus.

Was spricht für ASP.NET Core?

Millionen von Entwicklern verwenden oder haben ASP.NET 4.x zum Erstellen von Web-Apps verwendet. Bei ASP.NET Core handelt es sich um eine Neugestaltung von ASP.NET 4.x einschließlich Änderungen an der Architektur, die ein schlankeres Framework mit größerer Modularität ergeben.

ASP.NET Core bietet die folgenden Vorteile:

Erstellen von Web-APIs und Webbenutzeroberflächen mithilfe von ASP.NET Core MVC

ASP.NET Core MVC bietet Features zum Erstellen von Web-APIs und Web-Apps:

  • Das Modell-View-Controller (MVC)-Muster trägt dazu bei, Ihre Web-APIs und Web-Apps testbar zu machen.
  • Blazor, ein komponentenbasiertes Web-UI-Framework, das auf C# basiert, das sowohl das serverseitige Rendering als auch das clientseitige Rendering über WebAssembly unterstützt.
  • Razor Seiten ist ein seitenbasiertes Programmiermodell, das das Erstellen von Web-UI vereinfacht und produktiver macht.
  • Razor Markup bietet eine produktive Syntax für Razor Seiten und MVC-Darstellungen.
  • Taghilfsprogramme ermöglichen serverseitigen Code, um an der Erstellung und Darstellung von HTML-Elementen in Razor Dateien teilzunehmen.
  • Dank der integrierten Unterstützung für mehrere Datenformate und Inhaltsverhandlung können Ihre Web-APIs eine breite Palette von Clients erreichen, einschließlich Browsern und mobilen Geräten.
  • Die Modellbindung ordnet Daten von HTTP-Anforderungen automatisch Aktionsmethodenparametern zu.
  • Die Modellüberprüfung führt automatisch clientseitige und serverseitige Überprüfung durch.

Clientseitige Entwicklung

ASP.NET Core umfasst das Blazor Erstellen von reichhaltigen interaktiven Web-UI-Elementen und ist auch in andere beliebte Frontend-JavaScript-Frameworks wie Angular, React, Vue und Bootstrap integriert. Weitere Informationen finden Sie unter ASP.NET Kernthemen Blazor und verwandte Themen in der clientseitigen Entwicklung.

ASP.NET Core-Zielframeworks

ASP.NET Core 3.x oder höher kann nur .NET als Ziel haben.

Das Anzielen auf .NET bringt mit jedem Release mehr und mehr Vorteile mit sich. Einige Vorteile von .NET gegenüber .NET Framework sind:

  • Plattformübergreifend Die Ausführung unter Windows, macOS und Linux ist möglich.
  • Leistungssteigerung
  • Parallele Versionsverwaltung
  • Neue APIs
  • Quelle öffnen

Als Einführung in die Entwicklung von ASP.NET Core-Apps empfehlen wir die folgenden Tutorials:

  1. Führen Sie die Schritte eines Tutorials für den App-Typ aus, den Sie entwickeln oder verwalten möchten.

    App-Typ Szenario Lernprogramm
    Web-App Clientseitige Webbenutzeroberflächenentwicklung Erste Schritte mit Blazor
    Web-App Neue serverseitige Webbenutzeroberflächenentwicklung Erste Schritte mit Razor Seiten
    Web-App Verwalten einer MVC-App Erste Schritte mit MVC
    Web-API RESTful-HTTP-Dienste Erstellen einer Web-API
    Apps für Remoteprozeduraufrufe Contract-First-Dienste mithilfe von Protokollpuffern Erste Schritte mit einem gRPC-Dienst
    Echtzeit-App Bidirektionale Kommunikation zwischen Servern und verbundenen Clients Erste Schritte mit SignalR
  2. Führen Sie die Schritte eines Tutorials aus, in dem die Grundlagen des Datenzugriffs erläutert werden.

    Szenario Lernprogramm
    Neuentwicklungen Blazor mit Entity Framework Core
    Neuentwicklungen Razor Seiten mit Entity Framework Core
    Verwalten einer MVC-App MVC mit Entity Framework Core
  3. Lesen Sie eine Übersicht über ASP.NET Core-Grundlagen , die für alle App-Typen gelten.

  4. Suchen Sie im Inhaltsverzeichnis nach weiteren interessanten Themen.

†Es gibt auch ein interaktives Web-API-Tutorial Es ist keine lokale Installation von Entwicklertools erforderlich. Der Code wird in einer Azure Cloud Shell in Ihrem Browser ausgeführt, und curl wird zum Testen verwendet.

Migration von .NET Framework

Eine Referenzanleitung zum Migrieren von ASP.NET 4.x-Apps zu ASP.NET Core finden Sie unter Update von ASP.NET zu ASP.NET Core.

ASP.NET Core ist ein plattformübergreifendes, leistungsstarkes Open-Source-Framework zum Erstellen moderner, cloudfähiger, internetfähiger Apps. ASP.NET Core ermöglicht Folgendes:

Was spricht für ASP.NET Core?

Millionen von Entwicklern verwenden oder haben ASP.NET 4.x zum Erstellen von Web-Apps verwendet. Bei ASP.NET Core handelt es sich um eine Neugestaltung von ASP.NET 4.x mit Änderungen an der Architektur, die ein schlankeres Framework mit größerer Modularität ergeben.

ASP.NET Core bietet die folgenden Vorteile:

Erstellen von Web-APIs und Webbenutzeroberflächen mithilfe von ASP.NET Core MVC

ASP.NET Core MVC bietet Features zum Erstellen von Web-APIs und Web-Apps:

Clientseitige Entwicklung

ASP.NET Core lässt sich nahtlos in gängige clientseitige Frameworks und Bibliotheken integrieren, darunter BlazorAngular, React, Vue und Bootstrap. Weitere Informationen finden Sie unter ASP.NET Kernthemen Blazor und verwandte Themen in der clientseitigen Entwicklung.

ASP.NET Core, das .NET Framework anzielt.

ASP.NET Core 2.x kann für .NET Core oder .NET Framework verwendet werden. Auf .NET Framework ausgerichtete ASP.NET Core-Apps sind nicht plattformübergreifend – sie können nur unter Windows ausgeführt werden. Im Allgemeinen besteht ASP.NET Core 2.x aus .NET Standardbibliotheken . Bibliotheken, die mit .NET Standard 2.0 geschrieben wurden, werden auf einer beliebigen .NET-Plattform ausgeführt, die .NET Standard 2.0 implementiert.

ASP.NET Core 2.x wird unter .NET Framework-Versionen unterstützt, die .NET Standard 2.0 implementieren:

  • Die neueste Version von .NET Framework wird empfohlen.
  • .NET Framework 4.6.1 oder höher

ASP.NET Core 3.0 oder höher kann nur auf .NET Core ausgeführt werden. Weitere Informationen zu dieser Änderung finden Sie unter Einen ersten Blick auf änderungen in ASP.NET Core 3.0.

Das Anzielen auf .NET Core bringt mit jedem Release mehr und mehr Vorteile mit sich. Einige Vorteile von .NET Core gegenüber .NET Framework sind:

  • Plattformübergreifend Wird unter macOS, Linux und Windows ausgeführt.
  • Leistungssteigerung
  • Parallele Versionsverwaltung
  • Neue APIs
  • Quelle öffnen

Um die API-Lücke von .NET Framework zu .NET Core zu schließen, hat das Windows Compatibility Pack Tausende von Windows-only-APIs in .NET Core verfügbar gemacht. Diese APIs waren in .NET Core 1.x nicht verfügbar.

Als Einführung in die Entwicklung von ASP.NET Core-Apps empfehlen wir die folgenden Tutorials und Artikel:

  1. Führen Sie die Schritte eines Tutorials für den App-Typ aus, den Sie entwickeln oder verwalten möchten.

    App-Typ Szenario Lernprogramm
    Web-App Für Neuentwicklungen Erste Schritte mit Razor Seiten
    Web-App Für die Verwaltung einer MVC-App Erste Schritte mit MVC
    Web-API Erstellen einer Web-API
    Echtzeit-App Erste Schritte mit SignalR
  2. Führen Sie die Schritte eines Tutorials aus, in dem die Grundlagen des Datenzugriffs erläutert werden.

    Szenario Lernprogramm
    Für Neuentwicklungen Razor Seiten mit Entity Framework Core
    Für die Verwaltung einer MVC-App MVC mit Entity Framework Core
  3. Lesen Sie eine Übersicht über ASP.NET Core-Grundlagen , die für alle App-Typen gelten.

  4. Suchen Sie im Inhaltsverzeichnis nach weiteren interessanten Themen.

†There ist auch ein Web-API-Lernprogramm, das Sie vollständig im Browser befolgen, keine lokale IDE-Installation erforderlich. Der Code wird in einer Azure Cloud Shell ausgeführt, und curl wird zum Testen verwendet.

Migration von .NET Framework

Eine Referenzanleitung zum Migrieren von ASP.NET Apps zu ASP.NET Core finden Sie unter Update von ASP.NET zu ASP.NET Core.

Herunterladen eines Beispiels

Viele der Artikel und Tutorials enthalten Links zu Beispielcode.

  1. Laden Sie die zip-Datei des ASP.NET Repositorys herunter.
  2. Entzippen Sie die Datei AspNetCore.Docs-main.zip.
  3. Um auf die Beispiel-App eines Artikels im entpackten Repository zuzugreifen, verwenden Sie die URL im Beispiellink des Artikels, um zum Ordner des Beispiels zu navigieren. In der Regel wird oben im Artikel ein Beispiellink mit dem Linktext "Ansicht" oder "Beispielcode herunterladen" angezeigt.

Präprozessoranweisungen in Beispielcode

In Beispiel-Apps werden die Präprozessoranweisungen #define und #if-#else/#elif-#endif zum selektiven Kompilieren und Ausführen unterschiedlicher Abschnitte des Beispielcodes verwendet. So werden verschiedene Szenarios veranschaulicht. Für die Beispiele, die diesen Ansatz verwenden, legen Sie die Anweisung #define am Anfang der C#-Dateien auf das Symbol fest, das dem Szenario zugeordnet ist, welches Sie ausführen möchten. Für einige Beispiele müssen Sie möglicherweise das Symbol in mehreren Dateien definieren, um ein Szenario durchführen zu können.

Die folgende #define-Symbolliste gibt beispielsweise an, dass vier Szenarios verfügbar sind (ein Szenario pro Symbol). Die aktuelle Beispielkonfiguration führt das TemplateCode-Szenario aus:

#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode

Damit das Beispiel das ExpandDefault-Szenario ausführt, definieren Sie das ExpandDefault-Symbol und lassen Sie die übrigen Symbole auskommentiert:

#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode

Weitere Informationen zur Verwendung von C#-Präprozessordirektiven zum selektiven Kompilieren von Codeabschnitten finden Sie unter #define (C#-Referenz) und #if (C#-Referenz).

Breaking Changes und Sicherheitsempfehlungen

Umfassende Änderungen und Sicherheitswarnungen werden im Ankündigungs-Repository gemeldet. Ankündigungen können auf eine bestimmte Version beschränkt werden, indem sie einen Bezeichnungsfilter auswählen.

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Ressourcen: