Udostępnij za pośrednictwem


Omówienie platformy ASP.NET Core

Przez Daniel Roth, Rick Anderson i Shaun Luttin

Uwaga

Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z bieżącą wersją, zobacz artykuł w wersji .NET 9.

Ostrzeżenie

Ta wersja ASP.NET Core nie jest już obsługiwana. Aby uzyskać więcej informacji, zobacz zasady pomocy technicznej platformy .NET i platformy .NET Core. Aby zapoznać się z bieżącą wersją, zobacz artykuł w wersji .NET 9.

Ważne

Te informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.

Aby zapoznać się z bieżącą wersją, zobacz artykuł w wersji .NET 9.

ASP.NET Core to międzyplatformowa, wysokowydajna struktura do tworzenia nowoczesnych aplikacji internetowych. Ta struktura typu open source umożliwia deweloperom tworzenie aplikacji internetowych, usług i interfejsów API, które mogą działać w systemach Windows, macOS i Linux. Jest ona tworzona na potrzeby tworzenia aplikacji na dużą skalę i może obsługiwać obciążenia o dowolnym rozmiarze, dzięki czemu jest to niezawodny wybór dla aplikacji na poziomie przedsiębiorstwa.

Platforma ASP.NET Core umożliwia:

  • Twórz aplikacje internetowe i usługi, aplikacje Azure IoT (Internet Rzeczy) oraz backendy mobilne.
  • Używanie ulubionych narzędzi programistycznych w systemach Windows, macOS i Linux.
  • Wdrażanie w chmurze lub lokalnie.
  • Uruchom na .NET.

Dlaczego warto wybrać ASP.NET Core?

Miliony deweloperów używają lub używają ASP.NET 4.x do tworzenia aplikacji internetowych. ASP.NET Core to przeprojektowanie ASP.NET 4.x, w tym zmiany architektury, które powodują szczuplejsze, bardziej modułowe struktury.

Platforma ASP. NET Core oferuje następujące zalety:

  • Ujednolicony scenariusz na potrzeby tworzenia internetowego interfejsu użytkownika i internetowych interfejsów API.
  • Zaprojektowano architekturę pod kątem możliwości testowania.
  • Blazor umożliwia korzystanie z języka C# w przeglądarce wraz z językiem JavaScript. Udostępnij logikę aplikacji po stronie serwera i po stronie klienta za pomocą platformy .NET.
  • Razor Strony sprawiają, że kodowanie scenariuszy skoncentrowanych na stronach jest łatwiejsze i bardziej efektywne.
  • Możliwość tworzenia i uruchamiania w systemach Windows, macOS i Linux.
  • Otwarte oprogramowanie i nastawione na społeczność.
  • Integracja nowoczesnych frameworków po stronie klienta i przepływów pracy projektowania.
  • Obsługa hostowania usług Remote Procedure Call (RPC) przy użyciu gRPC.
  • Gotowy do użycia w chmurze system konfiguracji oparty na środowisku.
  • Wbudowana funkcja wstrzykiwania zależności.
  • Lekki, wydajny i modułowy potok żądań HTTP.
  • Możliwość hostowania następujących elementów:
  • Przechowywanie wersji równoległych.
  • Narzędzia, które upraszczają tworzenie nowoczesnych aplikacji internetowych.

Tworzenie internetowego interfejsu użytkownika i internetowych interfejsów API przy użyciu wzorca MVC platformy ASP.NET Core

ASP.NET Core MVC udostępnia funkcje do tworzenia internetowych interfejsów API i aplikacji internetowych:

  • Wzorzec model-View-Controller (MVC) ułatwia testowanie interfejsów API i aplikacji internetowych.
  • Blazor, oparta na składnikach struktura internetowego interfejsu użytkownika oparta na języku C#, która obsługuje renderowanie po stronie serwera i renderowanie po stronie klienta za pośrednictwem zestawu WebAssembly.
  • Razor Pages to oparty na stronach model programowania, który sprawia, że tworzenie internetowego interfejsu użytkownika jest łatwiejsze i bardziej wydajne.
  • Razor znaczniki zapewniają wydajną składnię dlaRazor stron i widoków MVC.
  • Pomocnicy tagów umożliwiają kodowi po stronie serwera uczestniczenie w tworzeniu i renderowaniu elementów HTML w plikach Razor.
  • Wbudowana obsługa wielu formatów danych i negocjacji zawartości umożliwia internetowym interfejsom API dotarcie do szerokiej gamy klientów, w tym przeglądarek i urządzeń przenośnych.
  • Powiązanie modelu automatycznie mapuje dane z żądań HTTP na parametry metody akcji.
  • Walidacja modelu automatycznie przeprowadza walidację po stronie klienta i po stronie serwera.

Programowanie po stronie klienta

ASP.NET Core obejmuje Blazor do budowy rozbudowanego interaktywnego interfejsu użytkownika, a także integruje się z innymi popularnymi frameworkami JavaScript frontendu, takimi jak Angular, React, Vue i Bootstrap. Aby uzyskać więcej informacji, zobacz ASP.NET Core Blazor i powiązane tematy w temacie Programowanie po stronie klienta.

ASP.NET Core platform docelowych

program ASP.NET Core 3.x lub nowszy może być przeznaczony tylko dla platformy .NET.

Istnieje kilka korzyści związanych z ukierunkowaniem na platformę .NET, a te korzyści zwiększają się wraz z poszczególnymi wersjami. Niektóre zalety platformy .NET w programie .NET Framework obejmują:

  • Wieloplatformowość. Działa w systemach Windows, macOS i Linux.
  • Zwiększona wydajność
  • Wersjonowanie równoległe
  • Nowe interfejsy API
  • Technologia open source

Zalecamy wykonanie następujących sekwencji samouczków dotyczących opracowywania aplikacji ASP.NET Core:

  1. Postępuj zgodnie z samouczkiem dotyczącym typu aplikacji, który chcesz opracowywać lub obsługiwać.

    Typ aplikacji Scenariusz Samouczek
    Aplikacja sieci web Tworzenie internetowego interfejsu użytkownika po stronie klienta Rozpocznij korzystanie z Blazor
    Aplikacja sieci web Tworzenie nowego internetowego interfejsu użytkownika po stronie serwera Rozpocznij pracę z Razor stronami
    Aplikacja sieci web Obsługa aplikacji MVC Wprowadzenie do wzorca MVC
    Internetowy interfejs API Usługi HTTP RESTful Tworzenie internetowego interfejsu API
    Zdalna aplikacja wywołania procedury Usługi kontraktowe korzystające z protokołu Wprowadzenie do usługi gRPC
    Aplikacja czasu rzeczywistego Dwukierunkowa komunikacja między serwerami i połączonymi klientami Rozpocznij korzystanie z SignalR
  2. Postępuj zgodnie z samouczkiem, w którym pokazano, jak wykonać podstawowy dostęp do danych.

    Scenariusz Samouczek
    Nowy projekt Blazor z platformą Entity Framework Core
    Nowy projekt Razor Strony z platformą Entity Framework Core
    Obsługa aplikacji MVC MvC z platformą Entity Framework Core
  3. Zapoznaj się z omówieniem podstaw ASP.NET Core, które mają zastosowanie do wszystkich typów aplikacji.

  4. Przejrzyj spis treści, aby uzyskać informacje o innych interesujących tematach.

†Interfejser interaktywny internetowy interfejs API. Nie jest wymagana lokalna instalacja narzędzi programistycznych. Kod jest uruchamiany w usłudze Azure Cloud Shell w przeglądarce, a program curl jest używany do testowania.

Migracja z platformy .NET Framework

Aby zapoznać się z przewodnikiem referencyjnym dotyczącym migrowania aplikacji ASP.NET 4.x do platformy ASP.NET Core, zobacz Migrowanie z platformy ASP.NET Framework do platformy ASP.NET Core.

ASP.NET Core to międzyplatformowa struktura typu open source o wysokiej wydajności umożliwiająca tworzenie nowoczesnych, połączonych z Internetem aplikacji z obsługą chmury. Platforma ASP.NET Core umożliwia:

  • Twórz aplikacje internetowe i usługi, aplikacje Azure IoT (Internet Rzeczy) oraz backendy mobilne.
  • Używanie ulubionych narzędzi programistycznych w systemach Windows, macOS i Linux.
  • Wdrażanie w chmurze lub lokalnie.
  • Uruchom na .NET Core lub .NET Framework.

Dlaczego warto wybrać ASP.NET Core?

Miliony deweloperów używają lub używają ASP.NET 4.x do tworzenia aplikacji internetowych. ASP.NET Core to przeprojektowana platforma ASP.NET 4.x, w której wprowadzono zmiany architektoniczne w celu stworzenia bardziej zwartej i modułowej struktury.

Platforma ASP. NET Core oferuje następujące zalety:

  • Ujednolicony scenariusz na potrzeby tworzenia internetowego interfejsu użytkownika i internetowych interfejsów API.
  • Zaprojektowano architekturę pod kątem możliwości testowania.
  • Blazor umożliwia korzystanie z języka C# w przeglądarce wraz z językiem JavaScript. Udostępnij logikę aplikacji po stronie serwera i po stronie klienta za pomocą platformy .NET.
  • Razor Strony sprawiają, że kodowanie scenariuszy skoncentrowanych na stronach jest łatwiejsze i bardziej efektywne.
  • Możliwość tworzenia i uruchamiania w systemach Windows, macOS i Linux.
  • Otwarte oprogramowanie i nastawione na społeczność.
  • Integracja nowoczesnych frameworków po stronie klienta i przepływów pracy projektowania.
  • Obsługa hostowania usług Remote Procedure Call (RPC) przy użyciu gRPC.
  • Gotowy do użycia w chmurze system konfiguracji oparty na środowisku.
  • Wbudowana funkcja wstrzykiwania zależności.
  • Lekki, wydajny i modułowy potok żądań HTTP.
  • Możliwość hostowania następujących elementów:
  • Przechowywanie wersji równoległych.
  • Narzędzia, które upraszczają tworzenie nowoczesnych aplikacji internetowych.

Tworzenie internetowego interfejsu użytkownika i internetowych interfejsów API przy użyciu wzorca MVC platformy ASP.NET Core

ASP.NET Core MVC udostępnia funkcje do tworzenia internetowych interfejsów API i aplikacji internetowych:

Programowanie po stronie klienta

ASP.NET Core bezproblemowo integruje się z popularnymi platformami i bibliotekami po stronie klienta, takimi jak Blazor, Angular, React, Vue i Bootstrap. Aby uzyskać więcej informacji, zobacz ASP.NET Core Blazor i powiązane tematy w temacie Programowanie po stronie klienta.

Platforma ASP.NET Core ukierunkowana na platformę .NET Framework

Platforma ASP.NET Core 2.x może jako cel mieć platformę .NET Core lub .NET Framework. aplikacje ASP.NET Core przeznaczone dla platformy .NET Framework nie są międzyplatformowe — działają tylko w systemie Windows. Ogólnie rzecz biorąc, ASP.NET Core 2.x składa się z bibliotek .NET Standard . Biblioteki napisane przy użyciu platformy .NET Standard 2.0 są uruchamiane na dowolnej platformie .NET, która implementuje platformę .NET Standard 2.0.

program ASP.NET Core 2.x jest obsługiwany w wersjach programu .NET Framework, które implementują platformę .NET Standard 2.0:

  • Zalecana jest najnowsza wersja programu .NET Framework.
  • .NET Framework 4.6.1 lub nowszy.

program ASP.NET Core 3.0 lub nowszy jest uruchamiany tylko na platformie .NET Core. Aby uzyskać więcej informacji na temat tej zmiany, zobacz Artykuł A first look at changes coming in ASP.NET Core 3.0 (Pierwsze spojrzenie na zmiany w ASP.NET Core 3.0).

Jest kilka zalet przyjmowania platformy .NET Core jako docelowej, a ich liczba rośnie z każdym wydaniem. Niektóre z zalet platformy .NET Core nad platformą .NET Framework to:

  • Wieloplatformowość. Działa w systemach macOS, Linux i Windows.
  • Zwiększona wydajność
  • Wersjonowanie równoległe
  • Nowe interfejsy API
  • Technologia open source

Aby ułatwić zamknięcie luki interfejsu API z programu .NET Framework na platformę .NET Core, pakiet zgodności systemu Windows udostępnił tysiące interfejsów API tylko dla systemu Windows na platformie .NET Core. Te interfejsy API nie były dostępne na platformie .NET Core 1.x.

Przy rozpoczynaniu programowania aplikacji platformy ASP.NET Core zalecamy następujący zestaw samouczków i artykułów:

  1. Postępuj zgodnie z samouczkiem dotyczącym typu aplikacji, którą chcesz opracowywać lub obsługiwać.

    Typ aplikacji Scenariusz Samouczek
    Aplikacja sieci web Programowanie od nowa Rozpocznij pracę z Razor stronami
    Aplikacja sieci web Konserwacja aplikacji MVC Wprowadzenie do wzorca MVC
    Internetowy interfejs API Tworzenie internetowego interfejsu API
    Aplikacja czasu rzeczywistego Rozpocznij korzystanie z SignalR
  2. Postępuj zgodnie z samouczkiem, w którym pokazano, jak wykonać podstawowy dostęp do danych.

    Scenariusz Samouczek
    Programowanie od nowa Razor Strony z platformą Entity Framework Core
    Konserwacja aplikacji MVC MvC z platformą Entity Framework Core
  3. Zapoznaj się z omówieniem podstaw ASP.NET Core, które mają zastosowanie do wszystkich typów aplikacji.

  4. Przeglądaj spis treści, aby znaleźć inne interesujące tematy.

Jest też samouczek dotyczący interfejsu API działający w przeglądarce, który można w całości realizować w przeglądarce, bez konieczności instalacji lokalnego IDE. Kod jest uruchamiany w usłudze Azure Cloud Shell, a program curl jest używany do testowania.

Migracja z platformy .NET Framework

Aby zapoznać się z przewodnikiem referencyjnym dotyczącym migrowania aplikacji ASP.NET do platformy ASP.NET Core, zobacz Migrowanie z platformy ASP.NET Framework do platformy ASP.NET Core.

Instrukcje: pobieranie pliku

Wiele artykułów i samouczków zawiera linki do kodu przykładowego.

  1. Pobierz plik zip repozytorium ASP.NET.
  2. Rozpakuj AspNetCore.Docs-main.zip plik.
  3. Aby uzyskać dostęp do przykładowej aplikacji artykułu w rozpakowanym repozytorium, użyj adresu URL w przykładowym linku artykułu, aby ułatwić przejście do folderu przykładowego przykładu. Zazwyczaj przykładowy link artykułu jest wyświetlany w górnej części artykułu z linkiem Wyświetl lub pobierz przykładowy kod.

Dyrektywy preprocesora w przykładowym kodzie

Aby zademonstrować wiele scenariuszy, przykładowe aplikacje używają #define dyrektyw preprocesora i #if-#else/#elif-#endif do selektywnego kompilowania i uruchamiania różnych sekcji przykładowego kodu. W przypadku tych przykładów, które korzystają z tego podejścia, ustaw dyrektywę #define w górnej części plików języka C#, aby zdefiniować symbol skojarzony ze scenariuszem, który chcesz uruchomić. Niektóre przykłady wymagają zdefiniowania symbolu w górnej części wielu plików w celu uruchomienia scenariusza.

Na przykład następująca lista symboli #define wskazuje, że są dostępne cztery scenariusze (jeden scenariusz na symbol). Aktualna konfiguracja przykładu powoduje uruchomienie scenariusza TemplateCode:

#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode

Aby zmienić przykład w celu uruchomienia scenariusza ExpandDefault, zdefiniuj symbol ExpandDefault i pozostaw pozostałe symbole jako przekształcone w komentarz:

#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode

Aby uzyskać więcej informacji na temat używania dyrektyw preprocesora języka C# do selektywnego kompilowania sekcji kodu, zobacz #define (odwołanie w C#) i #if (odwołanie w C#).

Istotne zmiany i biuletyny zabezpieczeń

Zmiany wprowadzające niezgodność i biuletyny bezpieczeństwa są zgłaszane w repozytorium Ogłoszenia. Anonsy mogą być ograniczone do określonej wersji, wybierając filtr Etykieta.

Następne kroki

Aby uzyskać więcej informacji, zobacz następujące zasoby: