What’s new in the ASP.Net Core 3.0 web framework

Microsoft will tighten up .Net Core integration, changing and removing several capabilities

What’s new in the ASP.Net Core 3.0 web framework
Thinkstock

In the planned Version 3.0 release of its ASP.Net open source web framework, Microsoft will tighten up .Net Core integration, with users advised to think of ASP.Net Core as part of the .Net Core development platform. 

ASP.Net Core is Microsoft’s cross-platform open source web framework that works with .Net Core, an open source subset of the .Net Framework.

Where to download ASP.Net Core

You can download the ASP.Net Core SDK and runtimes from Microsoft’s website.

Future version: What’s new in ASP.Net 3.0

Limitations and removals in ASP.Net 3.0

Microsoft said that ASP.Net will run only on .Net Core as of Version 3.0. Net Framework, meanwhile, is slated to get fewer of the features that come to .Net Core., because of the in-place update nature of .Net Framework and a desire to limit changes that could break applications.

ASP.Net Core 3.0’s shared framework, Microsoft.ASPNet.Core.App, will contain only first-party assemblies that are fully developed and supported by Microsoft. The framework will be source-buildable through GitHub and maintain benefits of the .Net Core shared frameworks for applications, such as smaller deployment size and faster startup time.

As part of this change, some components will be removed from ASP.Net Core, including Entity Framework Core and Json.Net.

For areas of ASP.Net that rely on Json.Net features, such as the JSON formatter in MVC, Microsoft will continue to ship packages that provide integration. But the default experience will change to use in-box JSON APIs.

Entity Framework Core will ship as pure NuGet packages, to make the shipping model match other data access libraries on .Net.

Additionally, references to Microsoft.ASPNet.Core.App will no longer be a <PackageReference> element in the project file. The .Net Core SDK will support a new item, <FrameworkReference>, instead. As a result of these changes, it will no longer be necessary for projects to consume assemblies in Microsoft.AspNetCore.App as NuGet packages.

To simplify how consumers use the ASP.Net shared framework, Microsoft will stop producing many NuGet packages that have shipped since ASP.Net Core 1.0.  

Other changes coming in ASP.Net 3.0

Microsoft said that it plans to help ensure that open source components integrate with ASP.Net Core applications. This support will include integration APIs and packages, contributions to existing libraries, project templates that use these libraries, and processes for dealing with issues such as security.

Microsoft also is working to streamline the experience for building HTP APIs, with conventions and analyzers to make it easier to work with API libraries such as Swashbuckle and NSwag.

Also planned is a new API client generation system to integrate with code generators such as AutoRest.

Current version: What's new in ASP.Net Core 2.1

Microsoft’s ASP.Net Core 2.1 focuses on functional testing of MVC applications, creating a package for in-memory testing. 

Included in ASP.Net Core 2.1 is a Nuget package called AspNetCore.Mvc.Testing. With it, developers should be able to more reliably test MVC applications. The package copies the .deps file from a project into a test assembly bin folder and enables static views and files to be found. The WebApplicationTestFixture<TStartup> capability is provided to bootstrap an app on TestServer.

ASP.Net Core 2.1 also provides:

  • Improvements to Razor Pages, which provide a page-based model for building a web UI. The Version 2.1 release adds support for areas, for partitioning large MVC apps into smaller groupings. Each group has its own controllers and views. Also, Razor Pages fall back to finding assets such as layouts in /[pages root]/Shared before reverting back to /Views/Shared.
  • The ASP.Net SignalR library is ported to ASP.Net Core for real-time web support.
  • A subset of ASP.Net Webhooks, providing a lightweight pattern for web event notification, is ported to ASP.Net Core, integrating with ASP.Net Core idioms. Receivers such as Slack and BitBucket are ported as well.
  • For security, HTTPS is on by default. Also, HTTPS redirection directs HTTP traffic to HTTPS, via middleware that redirects based on configuration or bound server ports.
  • Virtual authentication schemes should make it easier to mix authentication schemes and compose different authentication verbs across handlers.
  • A default identity UI implementation is provided as a library, to help add identity to an application.
  • The Kestrel HTTP server is supported by a new transport based on socket types in .Net, in addition to the default libuv transport. The new socket transport should perform better than libuv.
  • The Httpclientfactory type is available to configure and consume instances of HttpClient in an application.
  • Project templates feature extension points to meet the EU’s General Data Protection Regulation (GDPR).

Copyright © 2018 IDG Communications, Inc.