Wprowadzenie do platformy ASP.NET CoreIntroduction to ASP.NET Core

Daniel Roth, Rick Anderson i Shaun LuttinBy Daniel Roth, Rick Anderson, and Shaun Luttin

ASP.NET Core to międzyplatformowa platforma typu "Open Source ", która umożliwia tworzenie nowoczesnych aplikacji z obsługą chmury.ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-enabled, Internet-connected apps. Platforma ASP.NET Core umożliwia:With ASP.NET Core, you can:

  • Twórz aplikacje sieci Web i usługi, aplikacje Internet rzeczy (IoT) i frontony mobilne.Build web apps and services, Internet of Things (IoT) apps, and mobile backends.
  • Używanie ulubionych narzędzi programistycznych w systemach Windows, macOS i Linux.Use your favorite development tools on Windows, macOS, and Linux.
  • Wdrażanie w chmurze lub lokalnie.Deploy to the cloud or on-premises.
  • Uruchamiany na platformie .NET Core.Run on .NET Core.

Dlaczego warto wybrać ASP.NET Core?Why choose ASP.NET Core?

Miliony deweloperów używają lub używały ASP.NET 4. x do tworzenia aplikacji sieci Web.Millions of developers use or have used ASP.NET 4.x to create web apps. ASP.NET Core to projekt ASP.NET 4. x, w tym zmiany architektury, które powodują powstanie produkcji oszczędnej i większej struktury modularnej.ASP.NET Core is a redesign of ASP.NET 4.x, including architectural changes that result in a leaner, more modular framework.

Platforma ASP. NET Core oferuje następujące zalety:ASP.NET Core provides the following benefits:

Tworzenie internetowego interfejsu użytkownika i internetowych interfejsów API przy użyciu wzorca MVC platformy ASP.NET CoreBuild web APIs and web UI using ASP.NET Core MVC

Platforma ASP.NET Core MVC udostępnia funkcje, które umożliwiają tworzenie internetowych interfejsów API i aplikacji internetowych:ASP.NET Core MVC provides features to build web APIs and web apps:

Programowanie po stronie klientaClient-side development

ASP.NET Core zapewnia bezproblemową integrację z popularnymi strukturami i bibliotekami po stronie klienta, takimi jak Blazor , kątowe, reagowaniei ładowania początkowego.ASP.NET Core integrates seamlessly with popular client-side frameworks and libraries, including Blazor, Angular, React, and Bootstrap. Aby uzyskać więcej informacji, zobacz Wprowadzenie do ASP.NET Core Blazor i Tematy pokrewne w obszarze programowanie po stronie klienta.For more information, see Wprowadzenie do ASP.NET Core Blazor and related topics under Client-side development.

ASP.NET Core platform docelowychASP.NET Core target frameworks

ASP.NET Core 3. x i nowsze mogą dotyczyć tylko .NET Core.ASP.NET Core 3.x and later can only target .NET Core. Ogólnie rzecz biorąc ASP.NET Core składa się z bibliotek .NET Standard .Generally, ASP.NET Core is composed of .NET Standard libraries. Biblioteki z .NET Standard 2,0 są uruchamiane na dowolnej platformie .NET implementującej .NET Standard 2,0.Libraries written with .NET Standard 2.0 run on any .NET platform that implements .NET Standard 2.0.

Jest kilka zalet przyjmowania platformy .NET Core jako docelowej, a ich liczba rośnie z każdym wydaniem.There are several advantages to targeting .NET Core, and these advantages increase with each release. Niektóre z zalet platformy .NET Core nad platformą .NET Framework to:Some advantages of .NET Core over .NET Framework include:

Zalecamy poniższą sekwencję samouczków, aby zapoznać się z wprowadzeniem do tworzenia aplikacji ASP.NET Core:We recommend the following sequence of tutorials for an introduction to developing ASP.NET Core apps:

  1. Postępuj zgodnie z samouczkiem dotyczącym typu aplikacji, który chcesz opracowywać lub obsłudze.Follow a tutorial for the app type you want to develop or maintain.

    Typ aplikacjiApp type ScenariuszScenario SamouczekTutorial
    Aplikacja internetowaWeb app Tworzenie nowego interfejsu użytkownika sieci Web po stronie serweraNew server-side web UI development Wprowadzenie do Razor stronGet started with Razor Pages
    Aplikacja internetowaWeb app Obsługa aplikacji MVCMaintaining an MVC app Wprowadzenie do wzorca MVCGet started with MVC
    Aplikacja internetowaWeb app Programowanie interfejsu użytkownika sieci Web po stronie klientaClient-side web UI development Wprowadzenie do BlazorGet started with Blazor
    Interfejs API sieci WebWeb API RESTful usługi HTTPRESTful HTTP services Tworzenie internetowego interfejsu APICreate a web API
    Aplikacja zdalnego wywołania proceduryRemote Procedure Call app Usługi pierwszego kontraktu przy użyciu buforów protokołuContract-first services using Protocol Buffers Wprowadzenie do usługi gRPCGet started with a gRPC service
    Aplikacja czasu rzeczywistegoReal-time app Dwukierunkowa komunikacja między serwerami i połączonymi klientamiBidirectional communication between servers and connected clients Wprowadzenie do SignalRGet started with SignalR
  2. Postępuj zgodnie z samouczkiem, który pokazuje, jak przeprowadzić podstawowy dostęp do danych.Follow a tutorial that shows how to do basic data access.

    ScenariuszScenario SamouczekTutorial
    Nowe programowanieNew development Razor Strony z Entity Framework CoreRazor Pages with Entity Framework Core
    Obsługa aplikacji MVCMaintaining an MVC app Wzorzec MVC z platformą Entity Framework CoreMVC with Entity Framework Core
  3. Zapoznaj się z omówieniem ASP.NET Core podstawowych , które mają zastosowanie do wszystkich typów aplikacji.Read an overview of ASP.NET Core fundamentals that apply to all app types.

  4. Przejrzyj Spis treści pod kątem innych tematów zainteresowania.Browse the table of contents for other topics of interest.

†Dostępny jest również Interaktywny samouczek internetowy interfejsu API.†There's also an interactive web API tutorial. Nie jest wymagana instalacja lokalna narzędzi programistycznych.No local installation of development tools is required. Kod jest uruchamiany w Azure Cloud Shell w przeglądarce, a zwinięcie służy do testowania.The code runs in an Azure Cloud Shell in your browser, and curl is used for testing.

Migrowanie z .NET FrameworkMigrate from .NET Framework

Przewodnik referencyjny dotyczący migrowania aplikacji ASP.NET 4. x do ASP.NET Core można znaleźć w temacie Migrowanie z ASP.NET do ASP.NET Core .For a reference guide to migrating ASP.NET 4.x apps to ASP.NET Core, see Migrowanie z ASP.NET do ASP.NET Core.

ASP.NET Core to międzyplatformowa platforma typu "Open Source ", która umożliwia tworzenie nowoczesnych aplikacji z obsługą chmury.ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-enabled, Internet-connected apps. Platforma ASP.NET Core umożliwia:With ASP.NET Core, you can:

Dlaczego warto wybrać ASP.NET Core?Why choose ASP.NET Core?

Miliony deweloperów używają lub używały ASP.NET 4. x do tworzenia aplikacji sieci Web.Millions of developers use or have used ASP.NET 4.x to create web apps. 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.ASP.NET Core is a redesign of ASP.NET 4.x, with architectural changes that result in a leaner, more modular framework.

Platforma ASP. NET Core oferuje następujące zalety:ASP.NET Core provides the following benefits:

Tworzenie internetowego interfejsu użytkownika i internetowych interfejsów API przy użyciu wzorca MVC platformy ASP.NET CoreBuild web APIs and web UI using ASP.NET Core MVC

Platforma ASP.NET Core MVC udostępnia funkcje, które umożliwiają tworzenie internetowych interfejsów API i aplikacji internetowych:ASP.NET Core MVC provides features to build web APIs and web apps:

Programowanie po stronie klientaClient-side development

ASP.NET Core zapewnia bezproblemową integrację z popularnymi strukturami i bibliotekami po stronie klienta, takimi jak Blazor , kątowe, reagowaniei ładowania początkowego.ASP.NET Core integrates seamlessly with popular client-side frameworks and libraries, including Blazor, Angular, React, and Bootstrap. Aby uzyskać więcej informacji, zobacz Wprowadzenie do ASP.NET Core Blazor i Tematy pokrewne w obszarze programowanie po stronie klienta.For more information, see Wprowadzenie do ASP.NET Core Blazor and related topics under Client-side development.

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

Platforma ASP.NET Core 2.x może jako cel mieć platformę .NET Core lub .NET Framework.ASP.NET Core 2.x can target .NET Core or .NET Framework. Aplikacje platformy ASP.NET Core ukierunkowane na platformę .NET Framework nie są wieloplatformowe — działają tylko w systemie Windows.ASP.NET Core apps targeting .NET Framework aren't cross-platform—they run on Windows only. Ogólnie rzecz biorąc, platforma ASP.NET Core 2.x jest zbudowana z bibliotek .NET Standard.Generally, ASP.NET Core 2.x is made up of .NET Standard libraries. Biblioteki z .NET Standard 2,0 są uruchamiane na dowolnej platformie .NET implementującej .NET Standard 2,0.Libraries written with .NET Standard 2.0 run on any .NET platform that implements .NET Standard 2.0.

ASP.NET Core 2. x jest obsługiwana w wersjach .NET Framework, które implementują .NET Standard 2,0:ASP.NET Core 2.x is supported on .NET Framework versions that implement .NET Standard 2.0:

  • Zaleca się .NET Framework najnowszej wersji..NET Framework latest version is recommended.
  • Platforma .NET Framework 4.6.1 lub nowsza..NET Framework 4.6.1 and later.

Platforma ASP.NET Core 3.0 i nowsze wersje będą działać tylko na platformie .NET Core.ASP.NET Core 3.0 and later will only run on .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).For more details regarding this change, see A first look at changes coming in ASP.NET Core 3.0.

Jest kilka zalet przyjmowania platformy .NET Core jako docelowej, a ich liczba rośnie z każdym wydaniem.There are several advantages to targeting .NET Core, and these advantages increase with each release. Niektóre z zalet platformy .NET Core nad platformą .NET Framework to:Some advantages of .NET Core over .NET Framework include:

Aby pomóc w zamknięciu przerwy w interfejsie API z .NET Framework do programu .NET Core, pakiet zgodności systemu Windows wprowadził tysiące interfejsów API tylko dla systemu Windows dostępnych w programie .NET Core.To help close the API gap from .NET Framework to .NET Core, the Windows Compatibility Pack made thousands of Windows-only APIs available in .NET Core. Te interfejsy API nie były dostępne na platformie .NET Core 1.x.These APIs weren't available in .NET Core 1.x.

Przy rozpoczynaniu programowania aplikacji platformy ASP.NET Core zalecamy następujący zestaw samouczków i artykułów:We recommend the following sequence of tutorials and articles for an introduction to developing ASP.NET Core apps:

  1. Postępuj zgodnie z samouczkiem dotyczącym typu aplikacji, którą chcesz opracowywać lub obsłudze.Follow a tutorial for the type of app you want to develop or maintain.

    Typ aplikacjiApp type ScenariuszScenario SamouczekTutorial
    Aplikacja internetowaWeb app Programowanie od nowaFor new development Wprowadzenie do Razor stronGet started with Razor Pages
    Aplikacja internetowaWeb app Konserwacja aplikacji MVCFor maintaining an MVC app Wprowadzenie do wzorca MVCGet started with MVC
    Interfejs API sieci WebWeb API Tworzenie internetowego interfejsu APICreate a web API
    Aplikacja czasu rzeczywistegoReal-time app Wprowadzenie do SignalRGet started with SignalR
  2. Postępuj zgodnie z samouczkiem, który pokazuje, jak przeprowadzić podstawowy dostęp do danych.Follow a tutorial that shows how to do basic data access.

    ScenariuszScenario SamouczekTutorial
    Programowanie od nowaFor new development Razor Strony z Entity Framework CoreRazor Pages with Entity Framework Core
    Konserwacja aplikacji MVCFor maintaining an MVC app Wzorzec MVC z platformą Entity Framework CoreMVC with Entity Framework Core
  3. Zapoznaj się z omówieniem ASP.NET Core podstawowych , które mają zastosowanie do wszystkich typów aplikacji.Read an overview of ASP.NET Core fundamentals that apply to all app types.

  4. Przeglądaj spis treści, aby znaleźć inne interesujące tematy.Browse the Table of Contents for other topics of interest.

†Dostępny jest również samouczek interfejsu API sieci Web, który należy wykonać w całości w przeglądarce, nie jest wymagana żadna lokalna instalacja środowiska IDE.†There's also a web API tutorial that you follow entirely in the browser, no local IDE installation required. Kod jest wykonywany w usłudze Azure Cloud Shell, a do testowania służy narzędzie curl.The code runs in an Azure Cloud Shell, and curl is used for testing.

Migrowanie z .NET FrameworkMigrate from .NET Framework

Przewodnik referencyjny dotyczący migrowania aplikacji ASP.NET do ASP.NET Core można znaleźć w temacie Migrowanie z ASP.NET do ASP.NET Core .For a reference guide to migrating ASP.NET apps to ASP.NET Core, see Migrowanie z ASP.NET do ASP.NET Core.

Instrukcje: pobieranie plikuHow to download a sample

Wiele artykułów i samouczków zawiera linki do kodu przykładowego.Many of the articles and tutorials include links to sample code.

  1. Pobierz plik zip repozytorium ASP.NET.Download the ASP.NET repository zip file.
  2. Rozpakuj plik Docs-master.zip.Unzip the Docs-master.zip file.
  3. Adres URL linku do przykładu pomoże Ci przejść do katalogu przykładu.Use the URL in the sample link to help you navigate to the sample directory.

Dyrektywy preprocesora w przykładowym kodziePreprocessor directives in sample code

Aby przedstawić wiele scenariuszy, przykładowe aplikacje wykorzystują #define #if-#else/#elif-#endif dyrektywy i preprocesora, aby wybiórczo kompilować i uruchamiać różne sekcje przykładowego kodu.To demonstrate multiple scenarios, sample apps use the #define and #if-#else/#elif-#endif preprocessor directives to selectively compile and run different sections of sample code. Dla tych przykładów, które korzystają z tego podejścia, należy ustawić #define dyrektywę w górnej części plików C#, aby zdefiniować symbol skojarzony z scenariuszem, który chcesz uruchomić.For those samples that make use of this approach, set the #define directive at the top of the C# files to define the symbol associated with the scenario that you want to run. Niektóre przykłady wymagają zdefiniowania symbolu w górnej części wielu plików, aby można było uruchomić scenariusz.Some samples require defining the symbol at the top of multiple files in order to run a scenario.

Na przykład następująca lista symboli #define wskazuje, że są dostępne cztery scenariusze (jeden scenariusz na symbol).For example, the following #define symbol list indicates that four scenarios are available (one scenario per symbol). Aktualna konfiguracja przykładu powoduje uruchomienie scenariusza TemplateCode:The current sample configuration runs the TemplateCode scenario:

#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:To change the sample to run the ExpandDefault scenario, define the ExpandDefault symbol and leave the remaining symbols commented-out:

#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#)).For more information on using C# preprocessor directives to selectively compile sections of code, see #define (C# Reference) and #if (C# Reference).

Regiony w przykładowym kodzieRegions in sample code

Niektóre przykładowe aplikacje zawierają sekcje kodu otoczone dyrektywami #region i #endregion C#.Some sample apps contain sections of code surrounded by #region and #endregion C# directives. System tworzenia dokumentacji wstawia te regiony do renderowanych tematów dokumentacji.The documentation build system injects these regions into the rendered documentation topics.

Nazwy regionów zwykle zawierają wyraz „snippet”.Region names usually contain the word "snippet." W poniższym przykładzie pokazano region o nazwie snippet_WebHostDefaults:The following example shows a region named snippet_WebHostDefaults:

#region snippet_WebHostDefaults
Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
    });
#endregion

Wcześniejszy fragment kodu w języku C# jest przywoływany w pliku markdown tematu za pomocą następującego wiersza:The preceding C# code snippet is referenced in the topic's markdown file with the following line:

[!code-csharp[](sample/SampleApp/Program.cs?name=snippet_WebHostDefaults)]

Licencjobiorca może bezpiecznie zignorować (lub usunąć) #region #endregion dyrektywy i, które są otaczające kod.You may safely ignore (or remove) the #region and #endregion directives that surround the code. Nie zmieniaj kodu w ramach tych dyrektyw, jeśli planujesz uruchamiać przykładowe scenariusze opisane w temacie.Don't alter the code within these directives if you plan to run the sample scenarios described in the topic. Kod możesz swobodnie modyfikować, eksperymentując z innymi scenariuszami.Feel free to alter the code when experimenting with other scenarios.

Aby uzyskać więcej informacji, zobacz Współtworzenie dokumentacji platformy ASP.NET: fragmenty kodu.For more information, see Contribute to the ASP.NET documentation: Code snippets.

Następne krokiNext steps

Więcej informacji można znaleźć w następujących zasobach:For more information, see the following resources: