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 struktura typu open source o wysokiej wydajności służąca do tworzenia nowoczesnych aplikacji internetowych opartych na chmurze.ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-based, Internet-connected applications. Platforma ASP.NET Core umożliwia:With ASP.NET Core, you can:

  • Kompilowanie aplikacji i usług internetowych, aplikacji IoT i zapleczy mobilnych.Build web apps and services, 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.
  • Uruchamianie na platformie .NET Core lub .NET Framework.Run on .NET Core or .NET Framework.

Dlaczego warto korzystać z platformy ASP.NET Core?Why use ASP.NET Core?

Miliony deweloperów korzystają z platformy ASP.NET 4.x do tworzenia aplikacji internetowych.Millions of developers have used (and continue to use) 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

Platforma ASP.NET Core bezproblemowo integruje się z popularnymi strukturami i bibliotekami po stronie klienta, takimi jak Angular, React czy Bootstrap.ASP.NET Core integrates seamlessly with popular client-side frameworks and libraries, including Angular, React, and Bootstrap. Aby uzyskać więcej informacji, zobacz Programowanie po stronie klienta.For more information, see 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. Aplikacje napisane przy użyciu platformy .NET Standard 2.0 działają wszędzie tam, gdzie obsługiwana jest platforma .NET Standard 2.0.Apps written with .NET Standard 2.0 run anywhere that .NET Standard 2.0 is supported.

Platforma ASP.NET Core 2.x jest obsługiwana w wersjach platformy .NET Framework zgodnych z platformą .NET Standard 2.0:ASP.NET Core 2.x is supported on .NET Framework versions compatible with .NET Standard 2.0:

  • Zdecydowanie zaleca się platformę .NET Framework 4.7.1 lub nowszą..NET Framework 4.7.1 and later is strongly 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:

  • Wieloplatformowość.Cross-platform. Działa w systemach macOS, Linux i Windows.Runs on macOS, Linux, and Windows.
  • Większa wydajnośćImproved performance
  • Przechowywanie wersji obok siebieSide-by-side versioning
  • Nowe interfejsy APINew APIs
  • Kod open sourceOpen source

Ciężko pracujemy nad zlikwidowaniem rozbieżności między interfejsami API platform .NET Framework i .NET Core.We're working hard to close the API gap from .NET Framework to .NET Core. Pakiet Windows Compatibility Pack udostępnił tysiące interfejsów API specyficznych dla systemu Windows na platformie .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.

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 zademonstrować wiele scenariuszy, przykładowe aplikacje używają instrukcji #define i #if-#else/#elif-#endif języka C# do selektywnego kompilowania i uruchamiania różnych sekcji przykładowego kodu.To demonstrate multiple scenarios, sample apps use the #define and #if-#else/#elif-#endif C# statements to selectively compile and run different sections of sample code. Aby w tych przykładach zastosować takie podejście, ustaw instrukcję #define w górnej części plików języka C# na symbol skojarzony ze scenariuszem, który chcesz uruchomić.For those samples that make use of this approach, set the #define statement at the top of the C# files to the symbol associated with the scenario that you want to run. Niektóre przykłady mogą wymagać ustawienia symbolu w górnej części wielu plików, aby umożliwić uruchomienie scenariusza.Some samples require setting 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 ujęte w instrukcje #region i #end-region języka C#.Some sample apps contain sections of code surrounded by #region and #end-region C# statements. 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_FilterInCode:The following example shows a region named snippet_FilterInCode:

#region snippet_FilterInCode
WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureLogging(logging =>
        logging.AddFilter("System", LogLevel.Debug)
            .AddFilter<DebugLoggerProvider>("Microsoft", LogLevel.Trace))
            .Build();
#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_FilterInCode)]

Możesz bezpiecznie zignorować (lub usunąć) instrukcje #region i #end-region otaczające kod.You may safely ignore (or remove) the #region and #end-region statements that surround the code. Jeśli planujesz uruchamiać przykładowy scenariusz opisany w temacie, nie zmieniaj kodu między tymi instrukcjami.Don't alter the code within these statements 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

Aby uzyskać więcej informacji, zobacz następujące zasoby:For more information, see the following resources: