Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- Kestrel
- USŁUGI IIS
- HTTP.sys
- Nginx
- Doker
- 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
Zalecana ścieżka szkoleniowa
Zalecamy wykonanie następujących sekwencji samouczków dotyczących opracowywania aplikacji ASP.NET Core:
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 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 Zapoznaj się z omówieniem podstaw ASP.NET Core, które mają zastosowanie do wszystkich typów aplikacji.
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:
- Kestrel
- USŁUGI IIS
- HTTP.sys
- Nginx
- Doker
- 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.
- 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 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.
Zalecana ścieżka szkoleniowa
Przy rozpoczynaniu programowania aplikacji platformy ASP.NET Core zalecamy następujący zestaw samouczków i artykułów:
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 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 Zapoznaj się z omówieniem podstaw ASP.NET Core, które mają zastosowanie do wszystkich typów aplikacji.
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.
- Pobierz plik zip repozytorium ASP.NET.
- Rozpakuj
AspNetCore.Docs-main.zip
plik. - 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:
- Rozpocznij korzystanie z Blazor
- Wprowadzenie do platformy ASP.NET Core
- Publikowanie aplikacji ASP.NET Core na platformie Azure przy użyciu programu Visual Studio
- podstawy ASP.NET Core
- Cotygodniowe spotkanie społeczności ASP.NET obejmuje postępy i plany zespołu. Zawiera też informacje o polecanych blogach i oprogramowaniu innych firm.