Omówienie platformy ASP.NET Core

Daniel Roth, Rick Anderson i Shaun Luttin

ASP.NET Core to wieloplatformowa platforma 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:

  • Tworzenie aplikacji internetowych i usług, aplikacji Internetu rzeczy (IoT) i zapleczy mobilnych.
  • Używanie ulubionych narzędzi programistycznych w systemach Windows, macOS i Linux.
  • Wdrażanie w chmurze lub lokalnie.
  • Uruchom polecenie na platformie .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.
  • Razor Strony ułatwiają kodowanie scenariuszy skoncentrowanych na stronach i są bardziej wydajne.
  • 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.
  • Możliwość tworzenia i uruchamiania w systemach Windows, macOS i Linux.
  • Open source i koncentracja na społeczności.
  • Integracja nowoczesnych struktur po stronie klienta i programistycznych przepływów pracy.
  • Obsługa hostowania usług Remote Procedure Call (RPC) przy użyciu gRPC.
  • Gotowy do pracy w chmurze, oparty na środowisku system konfiguracji.
  • Wbudowane wstrzykiwanie zależności.
  • Uproszczony, modułowy potok żądań HTTP zapewniający wysoką wydajność.
  • 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

Platforma ASP.NET Core MVC udostępnia funkcje, które umożliwiają tworzenie internetowych interfejsów API i aplikacji internetowych:

  • Wzorzec MVC (Model View Controller) ułatwia zapewnienie możliwości testowania aplikacji internetowych i internetowych interfejsów API.
  • 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ę dla Razor 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 wiele formatów danych i negocjacji zawartości umożliwia internetowym interfejsom API obsługę szerokiej gamy klientów, w tym przeglądarek i urządzeń przenośnych.
  • Powiązanie modelu automatycznie mapuje dane z żądań HTTP na parametry metod akcji.
  • Walidacja modelu automatycznie przeprowadza walidację po stronie klienta i serwera.

Programowanie po stronie klienta

ASP.NET Core obejmuje Blazor tworzenie rozbudowanego interaktywnego internetowego interfejsu użytkownika, a także integruje się z innymi popularnymi platformami Języka JavaScript frontonu, 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ą:

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

    Scenariusz Samouczek
    Nowy projekt Razor Strony z platformą Entity Framework Core
    Obsługa aplikacji MVC Wzorzec 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 Aktualizowanie z ASP.NET do ASP.NET Core.

ASP.NET Core to wieloplatformowa platforma 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:

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.
  • Razor Strony ułatwiają kodowanie scenariuszy skoncentrowanych na stronach i są bardziej wydajne.
  • 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.
  • Możliwość tworzenia i uruchamiania w systemach Windows, macOS i Linux.
  • Open source i koncentracja na społeczności.
  • Integracja nowoczesnych struktur po stronie klienta i programistycznych przepływów pracy.
  • Obsługa hostowania usług Remote Procedure Call (RPC) przy użyciu gRPC.
  • Gotowy do pracy w chmurze, oparty na środowisku system konfiguracji.
  • Wbudowane wstrzykiwanie zależności.
  • Uproszczony, modułowy potok żądań HTTP zapewniający wysoką wydajność.
  • 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

Platforma ASP.NET Core MVC udostępnia funkcje, które umożliwiają tworzenie internetowych interfejsów API i aplikacji internetowych:

  • Wzorzec MVC (Model View Controller) ułatwia zapewnienie możliwości testowania aplikacji internetowych i internetowych interfejsów API.
  • 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ę dla Razor 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 wiele formatów danych i negocjacji zawartości umożliwia internetowym interfejsom API obsługę szerokiej gamy klientów, w tym przeglądarek i urządzeń przenośnych.
  • Powiązanie modelu automatycznie mapuje dane z żądań HTTP na parametry metod akcji.
  • Walidacja modelu automatycznie przeprowadza walidację po stronie klienta i serwera.

Programowanie po stronie klienta

ASP.NET Core bezproblemowo integruje się z popularnymi platformami i bibliotekami po stronie klienta, takimi jak , Angular, React, Vue i Bootstrap. Blazor 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, platforma ASP.NET Core 2.x jest zbudowana 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 o tej zmianie, zobacz A first look at changes coming in ASP.NET Core 3.0 (Pierwsze spojrzenie na zmiany wprowadzane na platformie 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:

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 Wprowadzenie do Razor stron
    Aplikacja sieci web Konserwacja aplikacji MVC Wprowadzenie do wzorca MVC
    Internetowy interfejs API Tworzenie internetowego interfejsu API
    Aplikacja czasu rzeczywistego Wprowadzenie do usługi 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 Wzorzec 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.

†Interfejs również internetowy interfejs API, który jest dostępny w całości w przeglądarce, nie jest wymagana lokalna instalacja środowiska IDE. Kod jest wykonywany w usłudze Azure Cloud Shell, a do testowania służy narzędzie curl.

Migracja z platformy .NET Framework

Aby zapoznać się z przewodnikiem referencyjnym dotyczącym migrowania aplikacji ASP.NET do platformy ASP.NET Core, zobacz Update from ASP.NET to ASP.NET Core (Aktualizowanie z ASP.NET do 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

Więcej informacji na temat używania dyrektyw preprocesora języka C# do selektywnego kompilowania sekcji kodu można znaleźć w tematach #define (C# Reference) (#define (odwołanie w języku C#)) i #if (C# Reference) (#if (odwołanie w języku C#)).

Istotne zmiany i biuletyny zabezpieczeń

Zmiany powodujące niezgodność i biuletyny zabezpieczeń są zgłaszane w repozytorium Anonsy. 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: