Co to jest nowe w programie ASP.NET 2.0 CoreWhat's new in ASP.NET Core 2.0

W tym artykule omówiono najbardziej znaczących zmian w programie ASP.NET 2.0 Core, wraz z łączami do odpowiedniej dokumentacji.This article highlights the most significant changes in ASP.NET Core 2.0, with links to relevant documentation.

Stron razorRazor Pages

Stron razor to nowa funkcja platformy ASP.NET Core MVC umożliwia kodowanie strony scenariusze łatwiejsze i bardziej wydajnej pracy.Razor Pages is a new feature of ASP.NET Core MVC that makes coding page-focused scenarios easier and more productive.

Aby uzyskać więcej informacji zobacz wprowadzenie i samouczek:For more information, see the introduction and tutorial:

Metapackage platformy ASP.NET CoreASP.NET Core metapackage

Nowe metapackage platformy ASP.NET Core obejmuje wszystkie pakiety wprowadzone i obsługiwane przez zespoły programu Entity Framework Core i ASP.NET Core, wraz z ich zależności wewnętrzne i 3rd firm.A new ASP.NET Core metapackage includes all of the packages made and supported by the ASP.NET Core and Entity Framework Core teams, along with their internal and 3rd-party dependencies. Nie trzeba wybrać poszczególne platformy ASP.NET Core funkcje przez pakiet.You no longer need to choose individual ASP.NET Core features by package. Wszystkie funkcje dostępne w Microsoft.AspNetCore.All pakietu.All features are included in the Microsoft.AspNetCore.All package. Szablony domyślne, użyj tego pakietu.The default templates use this package.

Aby uzyskać więcej informacji, zobacz metapackage Microsoft.AspNetCore.All dla programu ASP.NET 2.0 Core.For more information, see Microsoft.AspNetCore.All metapackage for ASP.NET Core 2.0.

Środowisko uruchomieniowe magazynuRuntime Store

Aplikacje używające Microsoft.AspNetCore.All metapackage automatycznie korzystać z nowego magazynu środowiska uruchomieniowego .NET Core.Applications that use the Microsoft.AspNetCore.All metapackage automatically take advantage of the new .NET Core Runtime Store. Magazyn zawiera wszystkie zasoby środowiska uruchomieniowego potrzebne do uruchomienia aplikacji platformy ASP.NET Core 2.0.The Store contains all the runtime assets needed to run ASP.NET Core 2.0 applications. Jeśli używasz Microsoft.AspNetCore.All metapackage, nie zasoby, z którym związane są odwołania pakietów platformy ASP.NET Core NuGet są wdrażane w aplikacji, ponieważ są one już przechowywane na komputerze docelowym.When you use the Microsoft.AspNetCore.All metapackage, no assets from the referenced ASP.NET Core NuGet packages are deployed with the application because they already reside on the target system. Zasoby w magazynie środowiska uruchomieniowego są również wstępnie skompilowanym skrócić czas uruchomienia aplikacji.The assets in the Runtime Store are also precompiled to improve application startup time.

Aby uzyskać więcej informacji, zobacz magazynu środowiska wykonawczegoFor more information, see Runtime store

.NET 2.0 standardowe.NET Standard 2.0

Pakiety programu ASP.NET 2.0 Core docelowe .NET 2.0 standardowa.The ASP.NET Core 2.0 packages target .NET Standard 2.0. Pakiety mogą odwoływać się inne biblioteki .NET 2.0 standardowych i mogą być uruchamiane na standardowe .NET 2.0 zgodne implementacje .NET, w tym .NET Core 2.0 i .NET Framework 4.6.1.The packages can be referenced by other .NET Standard 2.0 libraries, and they can run on .NET Standard 2.0-compliant implementations of .NET, including .NET Core 2.0 and .NET Framework 4.6.1.

Microsoft.AspNetCore.All Metapackage dotyczy tylko .NET Core 2.0, ponieważ jest on przeznaczony do użycia ze sklepem środowiska uruchomieniowego .NET Core 2.0.The Microsoft.AspNetCore.All metapackage targets .NET Core 2.0 only, because it is intended to be used with the .NET Core 2.0 Runtime Store.

Aktualizacja konfiguracjiConfiguration update

IConfiguration Wystąpienia jest domyślnie w programie ASP.NET 2.0 Core dodawany do kontenera usług.An IConfiguration instance is added to the services container by default in ASP.NET Core 2.0. IConfigurationw usługach kontenera ułatwia tworzenie aplikacji można pobrać wartości konfiguracji z kontenera.IConfiguration in the services container makes it easier for applications to retrieve configuration values from the container.

Aby uzyskać informacje o stanie planowanej dokumentacji, zobacz problem GitHub.For information about the status of planned documentation, see the GitHub issue.

Rejestrowanie aktualizacjiLogging update

W programie ASP.NET 2.0 Core rejestrowanie jest domyślnie włączona do systemu (Podpisane) iniekcji zależności.In ASP.NET Core 2.0, logging is incorporated into the dependency injection (DI) system by default. Dodawanie dostawcy i skonfigurować filtrowanie w Program.cs zamiast w pliku Startup.cs pliku.You add providers and configure filtering in the Program.cs file instead of in the Startup.cs file. Wartością domyślną ILoggerFactory obsługuje filtrowanie w taki sposób, który pozwala używać jednego elastyczne podejście zarówno dla filtrowania krzyżowego dostawcy i filtrowanie określonego dostawcy.And the default ILoggerFactory supports filtering in a way that lets you use one flexible approach for both cross-provider filtering and specific-provider filtering.

Aby uzyskać więcej informacji, zobacz wprowadzenie do rejestrowania.For more information, see Introduction to Logging.

Aktualizacja uwierzytelnianiaAuthentication update

Nowy model uwierzytelniania ułatwia konfigurowanie uwierzytelniania dla aplikacji przy użyciu Podpisane.A new authentication model makes it easier to configure authentication for an application using DI.

Nowe szablony są dostępne do konfigurowania uwierzytelniania dla aplikacji sieci web i interfejsów API przy użyciu [usługi Azure AD B2C] sieci web (https://azure.microsoft.com/services/active-directory-b2c/).New templates are available for configuring authentication for web apps and web APIs using Azure AD B2C.

Aby uzyskać informacje o stanie planowanej dokumentacji, zobacz problem GitHub.For information about the status of planned documentation, see the GitHub issue.

Aktualizacja tożsamościIdentity update

Ułatwiliśmy ułatwia tworzenie bezpiecznej przy użyciu tożsamości w programie ASP.NET 2.0 podstawowych interfejsów API sieci web.We've made it easier to build secure web APIs using Identity in ASP.NET Core 2.0. W przypadku uzyskania tokenów dostępu do uzyskiwania dostępu do sieci web API przy użyciu biblioteki uwierzytelniania firmy Microsoft (MSAL).You can acquire access tokens for accessing your web APIs using the Microsoft Authentication Library (MSAL).

Aby uzyskać więcej informacji na temat uwierzytelniania zmian w 2.0 zobacz następujące zasoby:For more information on authentication changes in 2.0, see the following resources:

Szablony SPASPA templates

Jednej strony aplikacji JEDNOSTRONICOWEJ szablonów projektu dla kątową, Aurelia Knockout.js, React.js i React.js z Redux są dostępne.Single Page Application (SPA) project templates for Angular, Aurelia, Knockout.js, React.js, and React.js with Redux are available. Dyrektywy Angular szablon został uaktualniony do dyrektywy Angular 4.The Angular template has been updated to Angular 4. Szablony kątową i bibliotece React. domyślnie są dostępne; Aby uzyskać informacje o sposobie pobrania innych szablonów, zobacz tworzenia nowego projektu SPA.The Angular and React templates are available by default; for information about how to get the other templates, see Creating a new SPA project. Aby uzyskać informacje o sposobie budowania SPA w ASP.NET Core, zobacz przy użyciu JavaScriptServices tworzenie aplikacji jednej strony.For information about how to build a SPA in ASP.NET Core, see Using JavaScriptServices for Creating Single Page Applications.

Ulepszenia kestrelKestrel improvements

Serwer sieci web Kestrel ma nowe funkcje ułatwiające odpowiedniejsze jako serwer internetowy.The Kestrel web server has new features that make it more suitable as an Internet-facing server. Dodano wiele opcji konfiguracji serwera ograniczenia w KestrelServerOptions na nowe klasy Limits właściwości.We’ve added a number of server constraint configuration options in the KestrelServerOptions class’s new Limits property. Można teraz dodawać limity dla następujących elementów:You can now add limits for the following:

  • Maksymalna liczba połączeń klientówMaximum client connections
  • Żądanie maksymalny rozmiar treściMaximum request body size
  • Szybkość danych treści żądania minimalnaMinimum request body data rate

Aby uzyskać więcej informacji, zobacz Kestrel implementacja serwera sieci web platformy ASP.NET Core.For more information, see Kestrel web server implementation in ASP.NET Core.

WebListener zmieniona do pliku HTTP.sysWebListener renamed to HTTP.sys

Pakiety Microsoft.AspNetCore.Server.WebListener i Microsoft.Net.Http.Server zostały scalone w nowym pakiecie Microsoft.AspNetCore.Server.HttpSys.The packages Microsoft.AspNetCore.Server.WebListener and Microsoft.Net.Http.Server have been merged into a new package Microsoft.AspNetCore.Server.HttpSys. Przestrzenie nazw zostały zaktualizowane do dopasowania.The namespaces have been updated to match.

Aby uzyskać więcej informacji, zobacz HTTP.sys implementacja serwera sieci web platformy ASP.NET Core.For more information, see HTTP.sys web server implementation in ASP.NET Core.

Ulepszona obsługa nagłówka HTTPEnhanced HTTP header support

W przypadku używania MVC do przesyłania FileStreamResult lub FileContentResult, masz teraz opcję, aby ustawić ETag lub LastModified Data przesyłania zawartości.When using MVC to transmit a FileStreamResult or a FileContentResult, you now have the option to set an ETag or a LastModified date on the content you transmit. Można ustawić te wartości zwracane zawartości z kodem podobny do następującego:You can set these values on the returned content with code similar to the following:

var data = Encoding.UTF8.GetBytes("This is a sample text from a binary array");
var entityTag = new EntityTagHeaderValue("\"MyCalculatedEtagValue\"");
return File(data, "text/plain", "downloadName.txt", lastModified: DateTime.UtcNow.AddSeconds(-5), entityTag: entityTag);

Powrót do odwiedzających plik zostanie ozdobione odpowiednie nagłówki HTTP dla ETag i LastModified wartości.The file returned to your visitors will be decorated with the appropriate HTTP headers for the ETag and LastModified values.

Jeśli obiekt odwiedzający żądań zawartości aplikacji przy użyciu nagłówka żądania zakresu, ASP.NET będzie uznają, że i obsługiwać tego nagłówka.If an application visitor requests content with a Range Request header, ASP.NET will recognize that and handle that header. Jeśli żądanej zawartości mogą być dostarczane częściowo, ASP.NET odpowiednio Pomiń i zwrócić tylko żądany zestaw bajtów.If the requested content can be partially delivered, ASP.NET will appropriately skip and return just the requested set of bytes. Nie trzeba zapisać wszelkie specjalne obsługi do metody zmienić lub obsługi tej funkcji; odbywa się automatycznie za Ciebie.You do not need to write any special handlers into your methods to adapt or handle this feature; it is automatically handled for you.

Hosting uruchamiania i usługi Application InsightsHosting startup and Application Insights

Środowiskach hostingu można teraz wstrzyknięcia zależności dodatkowych pakietów i wykonanie kodu podczas uruchamiania aplikacji bez konieczności jawnie zależności lub wywołać żadnych metod aplikacji.Hosting environments can now inject extra package dependencies and execute code during application startup, without the application needing to explicitly take a dependency or call any methods. Ta funkcja umożliwia włączanie niektórych środowiskach do funkcji "światła w górę" unikatowe dla tego środowiska bez dokładnej znajomości wcześniejsze aplikacji.This feature can be used to enable certain environments to "light-up" features unique to that environment without the application needing to know ahead of time.

W programie ASP.NET 2.0 Core, ta funkcja jest używana, można automatycznie włączyć usługi Application Insights diagnostyczne podczas debugowania w programie Visual Studio i (po skorzystaniu z rozwiązania) uruchomionej w usłudze Azure App Services.In ASP.NET Core 2.0, this feature is used to automatically enable Application Insights diagnostics when debugging in Visual Studio and (after opting in) when running in Azure App Services. W związku z tym szablony projektów nie jest już Dodawanie pakietów usługi Application Insights i kodu domyślnie.As a result, the project templates no longer add Application Insights packages and code by default.

Aby uzyskać informacje o stanie planowanej dokumentacji, zobacz problem GitHub.For information about the status of planned documentation, see the GitHub issue.

Automatyczne stosowanie tokenów zabezpieczających przed sfałszowaniemAutomatic use of anti-forgery tokens

Platformy ASP.NET Core zawsze pomogła kodowanie HTML zawartości domyślnie, ale z nową wersją Przenosimy dodatkowy krok, aby zapobiec fałszerstwie żądania międzywitrynowego (XSRF).ASP.NET Core has always helped HTML-encode your content by default, but with the new version we’re taking an extra step to help prevent cross-site request forgery (XSRF) attacks. Platformy ASP.NET Core teraz Emituj tokenów zabezpieczających przed sfałszowaniem domyślnie i weryfikacji ich na stronach bez dodatkowej konfiguracji i akcji POST formularza.ASP.NET Core will now emit anti-forgery tokens by default and validate them on form POST actions and pages without extra configuration.

Aby uzyskać więcej informacji, zobacz zapobieganie Cross-Site żądania (XSRF/CSRF) Fałszerstwie w ASP.NET Core.For more information, see Preventing Cross-Site Request Forgery (XSRF/CSRF) Attacks in ASP.NET Core.

Automatyczne wstępnej kompilacjiAutomatic precompilation

Wstępna kompilacja widoku razor jest domyślnie podczas publikowania, zmniejszenie jego rozmiar dane wyjściowe publikowania i aplikacji czas uruchamiania.Razor view pre-compilation is enabled during publish by default, reducing the publish output size and application startup time.

Obsługa razor 7.1 C#Razor support for C# 7.1

Do pracy z nowy kompilator Roslyn został zaktualizowany przez aparat widoku Razor.The Razor view engine has been updated to work with the new Roslyn compiler. Która obejmuje obsługę funkcji C# 7.1 jak domyślne wyrażenia, wywnioskować nazwy spójnej kolekcji i dopasowywanie do wzorca z ogólnymi.That includes support for C# 7.1 features like Default Expressions, Inferred Tuple Names, and Pattern-Matching with Generics. Aby użyć 7.1 C# w projekcie, dodaj następującą właściwość w pliku projektu, a następnie ponownie załaduj rozwiązania:To use C# 7.1 in your project, add the following property in your project file and then reload the solution:

<LangVersion>latest</LangVersion>

Aby uzyskać informacje o stanie funkcji 7.1 C#, zobacz repozytorium Roslyn GitHub.For information about the status of C# 7.1 features, see the Roslyn GitHub repository.

Inne aktualizacje dokumentacji 2.0Other documentation updates for 2.0

Wskazówki dotyczące migracjiMigration guidance

Aby uzyskać wskazówki dotyczące sposobu przeprowadzenia migracji platformy ASP.NET Core 1.x aplikacji platformy ASP.NET Core 2.0 zobacz następujące zasoby:For guidance on how to migrate ASP.NET Core 1.x applications to ASP.NET Core 2.0, see the following resources:

Dodatkowe informacjeAdditional Information

Aby uzyskać pełną listę zmian, zobacz 2.0 informacje o wersji platformy ASP.NET Core.For the complete list of changes, see the ASP.NET Core 2.0 Release Notes.

Jeśli chcesz się połączyć z postęp i plany zespół deweloperów platformy ASP.NET Core, dostroić tygodniowych Standup społeczności ASP.NET.If you’d like to connect with the ASP.NET Core development team’s progress and plans, tune in to the weekly ASP.NET Community Standup.