.NET Core and .NET 5
.NET Core and .NET 5 are the new kid on the block. So why would I want to use .NET Core?
- Understanding .NET: .NET Framework versus .NET Core
- Using DotNet Standard Libraries
- Supporting multiple runtimes
- Support for WinForms and WPF applications.
Visual Studio improvements for .NET Core and .NET 5
With .NET Core Microsoft introduced a new project model, with a lot of emphasis on NuGet packages.
- Understanding the new project structure
- Installing dependencies with NuGet
- Targeting frameworks and handling differences
- Deploying your .NET (Core) 5 application
- Assembly Trimming
- Executing commands and tools
- Pinning the SDK with global.json.
- Handling bundling and minification in .NET 5 projects
.NET Core Cross-Platform Capabilities
So how can I build .NET Core applications on a Mac or Linux machine?
- Developing on any platform
- Generating a project using dotnet cli
- Getting started with Visual Studio Code
ASP.NET Core Pipeline
ASP.NET Core easily outperforms all other web hosting solutions. So how did they do that?
Here we will look at the ASP.NET pipeline, and how to make it do your bidding.
- Understanding the principle of the ASP.NET 5 Pipeline
- Selecting your middleware in the Startup class
- Understanding the need for dependency injection and how to configure it
- Adding your first middleware for serving static files
- Showing proper diagnostics while developing, and how to disable it in production
The new .NET Core Configuration
.NET Core allows you to pick and choose where to store your configuration.
We will look at the idea behind this and of course how to choose your configuration.
- No more web.config
- Formats: JSON, INI or XML
- Why you should store confidential configuration in environment variables and user secrets
- Different ways of getting configuration to your code
- Adding your own configuration provider
Proper logging is essential to find problems in production.
.NET Standard brings a unified logging approach which you can use anywhere in .NET
and also works with your preferred logging framework.
- Why do we need another logging framework
- Choosing from different logging providers, such as JSON logging
- Understanding logging scopes
- An example: Using NLog
- Logging guidelines and recommendations
OWIN and Middleware
The Open Web Interface for .NET brought a simple standard way for building web servers with .NET.
ASP.NET 5 built upon this standard and with it you can easily build your own custom extensions for .NET 5.
- What is the OWIN specification
- Project Katana and how to build a webserver with it
- Building your own custom middleware
- Testing your middleware
Many ASP 5 applications use the routing middleware to send the request to the proper handler.
In this chapter we will look at configuring routing and using it to efficiently send the requist to a handler.
- What is routing?
- Configuring the routing template
- Applying the new EndPoint routing for your own custom handler
ASP.NET Core and MVC
Every new version of MVC brings a couple of improvements making it easier for developers to
build state-of-the-art web applications.
Among other features we will look at taghelpers, which bring a similar concept like
Angular directives to the server side.
- Web UI and Web API Unification
- Understanding _ViewStart.cshtml and _ViewImports.cshtml
- Better readable and more powerfull Razor with tag helpers
- Developing and installing your own tag helpers
- Building View Components
- Web API improvements
- Using System.Text.Json
- View Service Injection
Entity Framework Core
With .NET Core also comes Entity Framework Core.
A new implementation of EF, which can run cross-platform, on Windows, Mac and Linux.
- Scaffolding your project from an existing database
- Interacting with the database
- Using SQL Server, Sqlite and In-memory databases
Modeling your database with EF Core
Mapping in EF Core uses conventions, or Fluent API.
You will see how to use Fluent API in EF Core.
- Methods of configuration.
- Creating and applying migrations.
- Table and column mapping.
- Modeling properties.
- Mapping Value generated properties.
- Handling Concurrent updates.
- Modeling relationships.
- Mapping inheritance (TPT, TPH).
Real-time communication with SignalR in .NET Core and .NET 5
Add real-time web functionality to your application.
- What is SignalR?
- Server Concepts
Building .NET Core SPAs with C# and Blazor
Blazor is a new way to build interactive client-side web UI with ASP.NET (Core) 5.
- Introducing Blazor, a way to build client-centric web sites in .NET
- How does it work?
- Client-Side vs. Server-Side Blazor
- Blazor Data Binding
- Creating a simple Blazor Component
- Hosting Blazor
DotNet Core 3.1 and .NET 5 are a dramatic change to what .NET and ASP.NET used to be.
MVC and Web API are not completely different but anything surrounding it is.
For example: Edit and debug your code with Visual Studio Code. Deploy your web app
on Linux or even a raspberry Pi.
It's a brave new world of openess. No more web.config and no more System.Web.
Has Microsoft gone mad? No, definitly not, this is the best thing to happen to ASP.NET since a long time.
Join us in this game of codes. With .NET Core 3.1 and .NET 5 you can choose your
development environment, such as Visual Studio, Visual Studio Code and other. This training will
use Visual Studio, but if you like you can also use one of the other tools for development.
You don't even need a Windows machine! Use Linux, or OSX!
This course is meant for developers that have experience with ASP.NET MVC and/or Web API and want to get on board
with the latest developments in ASP.NET.