SlideShare a Scribd company logo
#vssatpn
Visual Studio Saturday 2019
What's New in ASP.NET Core 3
Andrea Dottor
www.dottor.net
www.linkedin.com/in/andreadottor
#vssatpn
ASP.NET Core 3.0 only runs on .NET Core 3.0
.NET Core 3.0 implements .NET Standard 2.1
.NET Core 3.0 adds support for C# 8.0
It's highly recommended that you use Visual Studio 2019 version 16.3 or newer,
Visual Studio for Mac 8.3 or newer, or Visual Studio Code with the latest C#
extension.
#vssatpn
ASP.NET Core 3.0 only runs on .NET Core 3.0
#vssatpn
New JSON serialization
ASP.NET Core 3.0 now uses System.Text.Json by default for JSON
serialization:
• Reads and writes JSON asynchronously.
• Is optimized for UTF-8 text.
• Typically higher performance than Newtonsoft.Json.
#vssatpn
Template changes
The cookie consent UI is no longer included
Scripts and related static assets are now referenced as local files
instead of using CDNs.
The Angular template updated to use Angular 8.
…
#vssatpn
Performance improvements
• Reduction in memory usage when using the built-in dependency
injection container for scoped services.
• Reduction in allocations across the framework, including middleware
scenarios and routing.
• Reduction in memory usage for WebSocket connections.
• Memory reduction and throughput improvements for HTTPS
connections.
• New optimized and fully asynchronous JSON serializer.
• Reduction in memory usage and throughput improvements in form
parsing.
#vssatpn
gRPC
#vssatpn
gRPC
A high performance, open-source universal RPC framework
gRPC is a modern open source high performance RPC framework that
can run in any environment. It can efficiently connect services in and
across data centers with pluggable support for load balancing, tracing,
health checking and authentication. It is also applicable in last mile of
distributed computing to connect devices, mobile applications and
browsers to backend services.
https://grpc.io/
#vssatpn
gRPC
Contract-first approach to API development.
Modern technologies:
• HTTP/2 for transport.
• Protocol Buffers as the interface description language.
• Binary serialization format.
#vssatpn
gRPC - code generation
Language Platform Compiler
C/C++ Linux/Mac
GCC 4.8+
Clang 3.3+
C/C++ Windows 7+ Visual Studio 2015+
C# Linux/Mac .NET Core, Mono 4+
C# Windows 7+ .NET Core, .NET 4.5+
Dart Windows/Linux/Mac Dart 2.0+
Go Windows/Linux/Mac Go 1.6+
Java Windows/Linux/Mac JDK 8 recommended. Gingerbread+ for Android
Node.js Windows/Linux/Mac Node v4+
Objective-C Mac OS X 10.11+/iOS 7.0+ Xcode 7.2+
PHP (Beta) Linux/Mac PHP 5.5+ and PHP 7.0+
Python Windows/Linux/Mac Python 2.7 and Python 3.4+
Ruby Windows/Linux/Mac Ruby 2.3+
#vssatpn
DEMO
gRPC
#vssatpn
gRPC
tutto bello, anzi bellissimo! *
*non funziona (per il momento) su IIS, e non funziona su Azure App Service
#vssatpn
gRPC
tutto bello, anzi bellissimo! *
*non funziona (per il momento) su
IIS, e non funziona su Azure App
Service
#vssatpn
Blazor
#vssatpn
Blazor
Blazor is a framework for building interactive client-side web UI with .NET:
• Create rich interactive UIs using C# instead of JavaScript.
• Share server-side and client-side app logic written in .NET.
• Render the UI as HTML and CSS for wide browser support, including mobile browsers.
Blazor framework supported scenarios:
• Reusable UI components (Razor components)
• Client-side routing
• Component layouts
• Support for dependency injection
• Forms and validation
• Build component libraries with Razor class libraries
• JavaScript interop
#vssatpn
Blazor
Blazor Server
ASP.NET Core 3.0
Blazor WebAssembly (preview)
maggio 2020
#vssatpn
Razor components
• A component in Blazor is formally referred to as a Razor component.
• .razor file using a combination of C# and HTML markup
• Can use in existing Razor Pages or MVC apps
#vssatpn
New Razor directives
• @attribute – The @attribute directive applies the given attribute to
the class of the generated page or view. For example, @attribute
[Authorize].
• @implements – The @implements directive implements an interface
for the generated class. For example, @implements IDisposable.
#vssatpn
SignalR
SignalR now uses System.Text.Json to serialize/deserialize JSON message
Support for automatic reconnect
.withAutomaticReconnect()
.withAutomaticReconnect([0, 3000, 5000, 10000, 15000, 30000])
Client-to-server streaming
#vssatpn
DEMO
Blazor
#vssatpn
Worker Service
New template for worker services for long running tasks such as Windows
Services or Linux Systemd daemons
The worker class implements the BackgroundService class
BackgroundService is a base class for implementing a long running IHostedService
Use Dependency Injection
#vssatpn
DEMO
Worker Service
#vssatpn
Migration from ASP.NET Core 2.2
#vssatpn
Migration from ASP.NET Core 2.2
#vssatpn
ASP.NET Core 3.1 preview 3 (14 novembre)
Breaking changes:
• Reacting to browser SameSite changes in 3.1.0-preview1, impacts OpenIdConnect
The primary goal of .NET Core 3.1 is to polish the features and scenarios we
delivered in .NET Core 3.0.
.NET Core 3.1 will be a long term support (LTS) release, supported for at least
3 years.
#vssatpn
Links
• Codice demo:
https://github.com/andreadottor/VSSaturdayPN2019
• Slide:
https://www.slideshare.net/andreadottor/
• Links:
• https://docs.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-3.0?view=aspnetcore-3.0
• https://blog.zhaytam.com/2019/09/13/whats-new-asp-net-core-3/
• https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-core-3-1-preview-3/
• https://github.com/dotnet/core/tree/master/release-notes/3.1
#vssatpn
Thanks
#vssatpn
www.dottor.net
andrea@dottor.net
@dottor
Andrea Dottor
Microsoft MVP Developer Technologies Podcast .NET in pillole
• Spotify
• Spreaker
• Apple podcast
• Google podcast
• YouTube
www.linkedin.com/in/andreadottor
Podcast ".NET in pillole"
• Spotify:
https://open.spotify.com/show/7jyoG6BBmzvScNOqSpVvQQ
• Spreaker:
https://www.spreaker.com/show/net-in-pillole
• Apple podcast:
https://podcasts.apple.com/it/podcast/net-in-
pillole/id1478648398
• Google podcast:
https://podcasts.google.com/?feed=aHR0cHM6Ly93d3cuc3By
ZWFrZXIuY29tL3Nob3cvMzY4NTM0NC9lcGlzb2Rlcy9mZWVk
• YouTube:
https://www.youtube.com/user/andreadottor/

More Related Content

PPTX
Whats new in .net core 3
PPTX
Introduction to ASP.NET Core
PPTX
Introduction to .NET Core & ASP.NET Core MVC
PPTX
Introduction to .NET Core
PDF
Introduction to ASP.NET Core
PPTX
Migrating .NET Application to .NET Core
PPTX
Short introduction - .net core and .net standard 2.0
PPTX
Whats new in .net core 3
Introduction to ASP.NET Core
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core
Introduction to ASP.NET Core
Migrating .NET Application to .NET Core
Short introduction - .net core and .net standard 2.0

What's hot (19)

PPTX
ASP.NET Core: The best of the new bits
PPT
A First Look at Windows Presentation Foundation Everywhere (WPF/E): a Cross …
PPTX
.Net Core
PPTX
Open API (aka Swagger) - DDD by Night May 2020
PPTX
Moving forward with ASP.NET Core
PPTX
.Net Core - not your daddy's dotnet
PDF
.NET Core on Mac
PPTX
Overview of the new .NET Core and .NET Platform Standard
PPTX
Net core
PPTX
JS digest. October 2017
PPTX
What's New in ASP.NET Core 2.0
PDF
Dot Net Core
PPTX
.Net Core 1.0 vs .NET Framework
PPTX
Full stack web development with c# and web assembly - Blazor.Net
PPTX
JS digest. November 2017
PPTX
PPTX
Microsoft <3 Linux with ASP.NET Core
PDF
Use React tools for better Angular apps
ASP.NET Core: The best of the new bits
A First Look at Windows Presentation Foundation Everywhere (WPF/E): a Cross …
.Net Core
Open API (aka Swagger) - DDD by Night May 2020
Moving forward with ASP.NET Core
.Net Core - not your daddy's dotnet
.NET Core on Mac
Overview of the new .NET Core and .NET Platform Standard
Net core
JS digest. October 2017
What's New in ASP.NET Core 2.0
Dot Net Core
.Net Core 1.0 vs .NET Framework
Full stack web development with c# and web assembly - Blazor.Net
JS digest. November 2017
Microsoft <3 Linux with ASP.NET Core
Use React tools for better Angular apps
Ad

Similar to What's New in ASP.NET Core 3 (20)

PPTX
.NET Core Today and Tomorrow
PPTX
.NET & C# Updates Fall 2019
PPTX
.Net: Introduction, trends and future
PDF
Aspnet Core Grpc For Wcf Developers V60 20211217 Mark Rendle
PDF
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
PDF
Where should I run my code? Serverless, Containers, Virtual Machines and more
PPTX
Best of Microsoft Dev Camp 2015
PDF
.NET framework vs .net core 3.1 commons & differences
PPTX
.NET Overview & Roadmap
PPTX
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
PPTX
The ultimate cheat sheet on .net core, .net framework, and .net standard
DOCX
All the amazing features of asp.net core
PPTX
What’s new in Visual Studio 2010
DOC
Asp.Net Tutorials
PDF
Visual studio 2019 launch
PPT
ASP.NET MVC - In the Wild
PPTX
NET core 2 e i fratelli
DOCX
Beginners introduction to asp.net
PPTX
What's new in Visual Studio for Mac for .NET Developers
PPTX
ASP.NET Core 2.0: The Future of Web Apps
.NET Core Today and Tomorrow
.NET & C# Updates Fall 2019
.Net: Introduction, trends and future
Aspnet Core Grpc For Wcf Developers V60 20211217 Mark Rendle
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
Where should I run my code? Serverless, Containers, Virtual Machines and more
Best of Microsoft Dev Camp 2015
.NET framework vs .net core 3.1 commons & differences
.NET Overview & Roadmap
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
The ultimate cheat sheet on .net core, .net framework, and .net standard
All the amazing features of asp.net core
What’s new in Visual Studio 2010
Asp.Net Tutorials
Visual studio 2019 launch
ASP.NET MVC - In the Wild
NET core 2 e i fratelli
Beginners introduction to asp.net
What's new in Visual Studio for Mac for .NET Developers
ASP.NET Core 2.0: The Future of Web Apps
Ad

More from Andrea Dottor (20)

PDF
Blazor ♥️ JavaScript
PDF
Blazor, lo sapevi che...
PDF
Dal RenderFragment ai Generics, tips for Blazor developers
PDF
Blazor per uno sviluppatore Web Form
PDF
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
PDF
Blazor ha vinto? Storie di casi reali
PDF
Alla scoperta di gRPC
PDF
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
PPTX
Real case: migrate from Web Forms to ASP.NET Core gradually
PDF
ASP.NET Core - Razor Pages
PDF
ASP.NET Core - dove siamo arrivati
PDF
Dependency injection questa sconosciuta
PPTX
Customize ASP.NET Core scaffolding
PPTX
ASP.NET, ottimizziamo con la cache
PPTX
Cosa c'è di nuovo in asp.net core 2 0
PDF
Creare API pubbliche, come evitare gli errori comuni
PPTX
Deploy & Run on Azure App Service
PPTX
ASP.NET Core
PDF
L'evoluzione del web
PPTX
Introduzione ad ASP.NET Core
Blazor ♥️ JavaScript
Blazor, lo sapevi che...
Dal RenderFragment ai Generics, tips for Blazor developers
Blazor per uno sviluppatore Web Form
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Blazor ha vinto? Storie di casi reali
Alla scoperta di gRPC
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Real case: migrate from Web Forms to ASP.NET Core gradually
ASP.NET Core - Razor Pages
ASP.NET Core - dove siamo arrivati
Dependency injection questa sconosciuta
Customize ASP.NET Core scaffolding
ASP.NET, ottimizziamo con la cache
Cosa c'è di nuovo in asp.net core 2 0
Creare API pubbliche, come evitare gli errori comuni
Deploy & Run on Azure App Service
ASP.NET Core
L'evoluzione del web
Introduzione ad ASP.NET Core

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Unlocking AI with Model Context Protocol (MCP)
Diabetes mellitus diagnosis method based random forest with bat algorithm
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
The AUB Centre for AI in Media Proposal.docx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
“AI and Expert System Decision Support & Business Intelligence Systems”
KodekX | Application Modernization Development

What's New in ASP.NET Core 3

  • 1. #vssatpn Visual Studio Saturday 2019 What's New in ASP.NET Core 3 Andrea Dottor www.dottor.net www.linkedin.com/in/andreadottor
  • 2. #vssatpn ASP.NET Core 3.0 only runs on .NET Core 3.0 .NET Core 3.0 implements .NET Standard 2.1 .NET Core 3.0 adds support for C# 8.0 It's highly recommended that you use Visual Studio 2019 version 16.3 or newer, Visual Studio for Mac 8.3 or newer, or Visual Studio Code with the latest C# extension.
  • 3. #vssatpn ASP.NET Core 3.0 only runs on .NET Core 3.0
  • 4. #vssatpn New JSON serialization ASP.NET Core 3.0 now uses System.Text.Json by default for JSON serialization: • Reads and writes JSON asynchronously. • Is optimized for UTF-8 text. • Typically higher performance than Newtonsoft.Json.
  • 5. #vssatpn Template changes The cookie consent UI is no longer included Scripts and related static assets are now referenced as local files instead of using CDNs. The Angular template updated to use Angular 8. …
  • 6. #vssatpn Performance improvements • Reduction in memory usage when using the built-in dependency injection container for scoped services. • Reduction in allocations across the framework, including middleware scenarios and routing. • Reduction in memory usage for WebSocket connections. • Memory reduction and throughput improvements for HTTPS connections. • New optimized and fully asynchronous JSON serializer. • Reduction in memory usage and throughput improvements in form parsing.
  • 8. #vssatpn gRPC A high performance, open-source universal RPC framework gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services. https://grpc.io/
  • 9. #vssatpn gRPC Contract-first approach to API development. Modern technologies: • HTTP/2 for transport. • Protocol Buffers as the interface description language. • Binary serialization format.
  • 10. #vssatpn gRPC - code generation Language Platform Compiler C/C++ Linux/Mac GCC 4.8+ Clang 3.3+ C/C++ Windows 7+ Visual Studio 2015+ C# Linux/Mac .NET Core, Mono 4+ C# Windows 7+ .NET Core, .NET 4.5+ Dart Windows/Linux/Mac Dart 2.0+ Go Windows/Linux/Mac Go 1.6+ Java Windows/Linux/Mac JDK 8 recommended. Gingerbread+ for Android Node.js Windows/Linux/Mac Node v4+ Objective-C Mac OS X 10.11+/iOS 7.0+ Xcode 7.2+ PHP (Beta) Linux/Mac PHP 5.5+ and PHP 7.0+ Python Windows/Linux/Mac Python 2.7 and Python 3.4+ Ruby Windows/Linux/Mac Ruby 2.3+
  • 12. #vssatpn gRPC tutto bello, anzi bellissimo! * *non funziona (per il momento) su IIS, e non funziona su Azure App Service
  • 13. #vssatpn gRPC tutto bello, anzi bellissimo! * *non funziona (per il momento) su IIS, e non funziona su Azure App Service
  • 15. #vssatpn Blazor Blazor is a framework for building interactive client-side web UI with .NET: • Create rich interactive UIs using C# instead of JavaScript. • Share server-side and client-side app logic written in .NET. • Render the UI as HTML and CSS for wide browser support, including mobile browsers. Blazor framework supported scenarios: • Reusable UI components (Razor components) • Client-side routing • Component layouts • Support for dependency injection • Forms and validation • Build component libraries with Razor class libraries • JavaScript interop
  • 16. #vssatpn Blazor Blazor Server ASP.NET Core 3.0 Blazor WebAssembly (preview) maggio 2020
  • 17. #vssatpn Razor components • A component in Blazor is formally referred to as a Razor component. • .razor file using a combination of C# and HTML markup • Can use in existing Razor Pages or MVC apps
  • 18. #vssatpn New Razor directives • @attribute – The @attribute directive applies the given attribute to the class of the generated page or view. For example, @attribute [Authorize]. • @implements – The @implements directive implements an interface for the generated class. For example, @implements IDisposable.
  • 19. #vssatpn SignalR SignalR now uses System.Text.Json to serialize/deserialize JSON message Support for automatic reconnect .withAutomaticReconnect() .withAutomaticReconnect([0, 3000, 5000, 10000, 15000, 30000]) Client-to-server streaming
  • 21. #vssatpn Worker Service New template for worker services for long running tasks such as Windows Services or Linux Systemd daemons The worker class implements the BackgroundService class BackgroundService is a base class for implementing a long running IHostedService Use Dependency Injection
  • 25. #vssatpn ASP.NET Core 3.1 preview 3 (14 novembre) Breaking changes: • Reacting to browser SameSite changes in 3.1.0-preview1, impacts OpenIdConnect The primary goal of .NET Core 3.1 is to polish the features and scenarios we delivered in .NET Core 3.0. .NET Core 3.1 will be a long term support (LTS) release, supported for at least 3 years.
  • 26. #vssatpn Links • Codice demo: https://github.com/andreadottor/VSSaturdayPN2019 • Slide: https://www.slideshare.net/andreadottor/ • Links: • https://docs.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-3.0?view=aspnetcore-3.0 • https://blog.zhaytam.com/2019/09/13/whats-new-asp-net-core-3/ • https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-core-3-1-preview-3/ • https://github.com/dotnet/core/tree/master/release-notes/3.1
  • 28. #vssatpn www.dottor.net andrea@dottor.net @dottor Andrea Dottor Microsoft MVP Developer Technologies Podcast .NET in pillole • Spotify • Spreaker • Apple podcast • Google podcast • YouTube www.linkedin.com/in/andreadottor
  • 29. Podcast ".NET in pillole" • Spotify: https://open.spotify.com/show/7jyoG6BBmzvScNOqSpVvQQ • Spreaker: https://www.spreaker.com/show/net-in-pillole • Apple podcast: https://podcasts.apple.com/it/podcast/net-in- pillole/id1478648398 • Google podcast: https://podcasts.google.com/?feed=aHR0cHM6Ly93d3cuc3By ZWFrZXIuY29tL3Nob3cvMzY4NTM0NC9lcGlzb2Rlcy9mZWVk • YouTube: https://www.youtube.com/user/andreadottor/