Was ist der Unterschied zwischen ASP.NET Core Web (.NET Core) und ASP.NET Core Web (.NET Framework)?
und bietet .NET Framework eine ähnliche Leistung wie .NET Core?
c#
.net
asp.net-core
.net-core
Justin Homes
quelle
quelle
Antworten:
Dies kann zunächst verwirrend sein, aber es ist wichtig, sich daran zu erinnern: Letztendlich ist "ASP.NET Core" nur eine Reihe von NuGet-Paketen, die in Ihrem Projekt installiert werden können.
ASP.NET Core unter .NET Core ist plattformübergreifender ASP.NET Core. Es kann unter Windows, Mac und Linux (einschließlich Docker) ausgeführt werden. Auf dem Server muss .NET Core nicht installiert sein - die Abhängigkeiten können mit der Anwendung gebündelt werden.
ASP.NET Core unter .NET Framework ist ASP.NET Core unter "Voll" oder "Desktop" .NET Framework (z. B. .NET Framework 4.6.2). Diese Anwendungen können nur unter Windows ausgeführt werden, aber alles andere an ASP.NET Core verhält sich genauso.
Gemäß den von Ihnen verknüpften Benchmarks weisen beide eine höhere Leistung als ASP.NET 4.6 auf, obwohl .NET Core derzeit die höchste ist:
Diese Benchmarks sind jedoch etwas älter (Februar 2016) und spiegeln den Code vor RTM wider. Ich wäre nicht überrascht, wenn sie sich seitdem verbessert hätten.
quelle
netstandard1.1
oder höhernet451
oder höher).ASP.NET - Core mit .NetCore ist eine Cross-Plattform (es unter Windows, Linux oder anderen Plattformen laufen kann), High-Performance , Open-Source - Framework für die Entwicklung moderne, Cloud-basierte, Internet-Anwendungen verbunden. Es kann auf IIS, Nginx, Apache, Docker oder Selbsthost in Ihrem eigenen Prozess gehostet werden.
ASP.NET Core wird vollständig als NuGet-Pakete geliefert . Auf diese Weise können Sie Ihre App so optimieren, dass nur die erforderlichen NuGet-Pakete enthalten sind. Tatsächlich benötigen ASP.NET Core 2.x-Apps für .NET Core nur ein einziges NuGet-Paket. Zu den Vorteilen einer kleineren App-Oberfläche gehören eine strengere Sicherheit, ein geringerer Service und eine verbesserte Leistung.
Es ist nicht erforderlich, das .NET-Framework zu installieren, um den asp.net-Kern mit der .net-Kernanwendung auszuführen. Eine ASP.NET Core-Anwendung mit .net Core ist eine Konsolenanwendung, die in ihrer Main-Methode einen Webserver erstellt. Es verwendet den Kestrel-Webserver, um die Anwendung auszuführen.
Wir können auch Editoren wie Visual Studio Code, Atom verwenden, um die Anwendung auszuführen.
Aspx, WPF, WCF und WebServices werden nicht wie jetzt unterstützt. Es unterstützt die integrierte Abhängigkeitsinjektion. Verwendet coreclr, die Laufzeit in asp.net core mit .net core.
Asp.Core mit .Net-Framework .Net-Framework hingegen begann viel vor 2005 und fügte immer wieder neue Funktionen hinzu, wodurch es ein etwas komplexeres Framework und schwerer wurde. Es ist nicht plattformübergreifend. Es unterstützt Aspx, WPF, WCF und WebServices
Ausführungsplan für das Net Framework
.Net Core Exceution Plan
quelle
ASP.NET CORE mit .NET Core - Alle Abhängigkeiten sind in sich geschlossen, können die meisten Nuget-Pakete verwenden, können keine Windows-spezifischen Pakete verwenden, können unter Windows, Linux und Mac ausgeführt werden
ASP.NET CORE mit .NET Framework - Die meisten Abhängigkeiten sind in sich geschlossen, werden nur unter Windows ausgeführt, haben Zugriff auf Windows-spezifische Nuget-Pakete und benötigen die auf dem Computer installierte .net Framework-Version
quelle