Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Advanced .NET 6 Web Development

5 days
UWEBA
5 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Interested in a private company training? Request it here.

.NET 6 introduction

.NET 6 is the main implementation of .NET going forward.

  • What and Why
  • Understanding .NET 6: .NET Framework versus .NET 6
  • Supporting multiple runtimes
  • What is .NET Standard?

Visual Studio for ASP.NET Core

So what is new in Visual Studio for .NET 6 and ASP.NET Core?

  • Visual Studio 2022
  • Developing with the Hot Reload
  • Creating your own NuGet packages with .NET Core
  • Pinning the .NET SDK with global.json

Modern C# Language Features You Need to Know

.NET 6 now uses C# 10, which contains many exiting new language features you need to knowledge to build better software with .NET 6.

  • Nullable Reference Types
  • Implicit Usings and File Scoped Namespaces
  • Value Tuples
  • C# Pattern Matching
  • Init-only Properties and Records
  • Target Typed Expressions
  • Top-level Programs

ASP.NET Core Pipeline

ASP.NET Core is several times faster than ASP.NET Framework. How did they do this? By removing all 'fat' from the request processing. Here you will learn how the configure the ASP.NET Core pipeline, and we will examine some of the built-in middleware.

  • Understanding the principle of the ASP.NET Core Pipeline
  • Configuring the pipeline in the Program class
  • Understanding Dependency Injection
  • Diagnostic Middleware
  • Using HTTPS and the HSTS header
  • Serving Static Files
  • Configuring Routing
  • Exploring other built-in middleware
  • LAB: Building an ASP.NET Core web site by configuring middleware

Building Custom Middleware for ASP.NET Core 6

The Open Web Interface for .NET brought a simple standard way for building web servers with .NET. ASP.NET Core built upon this standard and with it you can easily build your own custom extensions.

  • Building your own custom middleware
  • Testing your middleware
  • LAB: Building a custom middleware class and testing it

ASP.NET Core Configuration

ASP.NET Core allows you to pick and choose where to store your configuration. No more deploying configuration with production settings in source control! We will look at the idea behind this and of course how to choose your ideal configuration.

  • Different ways of getting configuration to your code
  • Storing sensitive configuration in Secrets
  • Adding your own configuration provider
  • LAB: Using ASP.NET Configuration and Feature Toggles

Logging

Proper logging is essential to find problems while developing and in production. .NET 6 brings a unified logging approach which you can use anywhere in .NET and also works with your preferred logging framework such as NLog.

  • Why do we need another logging framework?
  • Choosing from different logging providers
  • Understanding logging scopes
  • Using the HTTP Logging Middleware
  • An example: Using NLog with .NET Core 6

Filters

Filters allow to you add behavior in the request processing pipeline to keep repetitive code out of your controllers.

  • How Filters Work
  • Authorization Filters
  • Action Filters
  • Result Filters
  • Exception Filters
  • Filters versus Middleware

Advanced Razor Techniques

  • Using CSS Isolation for Razor Views
  • Cleaner Razor with TagHelpers
  • Building Custom TagHelpers
  • Understanding and Creating View Components
  • Display and Editor Templates
  • Service Injection
  • LAB: Creating your own tag helper and view component

Minimal APIs

With .NET 6 we get a new model for building web apps: Minimal API. This does change some of the ways you work with ASP.NET Core.

  • Benefits of Minimal APIs
  • Routes and Handlers
  • Model Binding and Return Types
  • Code Organization
  • LAB: Managing Contacts with Minimal APIs

Integration with a JavaScript Frontend

So you want to host a React app with an ASP.NET Core backend? It's less straight-forward than you might think.

  • Setting up a JavaScript Frontend with a .NET Backend
  • Visual Studio Templates
  • Using a Proxy and CORS
  • Azure Templates for Angular and React

SignalR

Add real-time web functionality to your application.

  • What is SignalR?
  • Server Concepts
  • Building SignalR Clients with C# and JavaScript
  • LAB: Building an emergency dashboard with SignalR

Building Singe Page Applications with C# and Blazor

Building Single-Page Applications (SPA) is a very popular way of building applications on the web. Angular, VueJs, React and others can be used to build these, but they all require you to learn and use JavaScript and a whole new series of tools for developing these applications. But not any longer! Now you can use C# (and Visual Studio) and apply all those skills learned over the years to build SPAs with Blazor. Blazor makes building interactive client-side web applications efficient and fun that work on any modern browser.

  • Introducing Blazor and Web Assembly
  • Client-Side vs. Server-Side Blazor
  • Creating a simple Blazor Component
  • Hosting Blazor
  • LAB: Building a simple Blazor application

Efficient Communication with gRPC

With gRPC you can setup efficient communication between two parties using modern Remote Procedure Call.

  • What is gRPC?
  • Defining your contracts
  • Implementing your contracts on the server
  • Generating a Proxy and using it on the client

Internationalization

The world is a big place, with many spoken languages. If you want to reach the world, you should build multi-language support in from the beginning.

  • Display Content in Different Cultures
  • Using resource files
  • Autodetect Cultures
  • LAB: Adding language support to an ASP.NET Core web site

Understanding Claims-Based Security

So what will you allow your user to do? This most likely depends on the role the user has in your organization. This role is now represented with claims. In this chapter you will get a better understanding why claims are better than roles, and how claims are transmitted in a secure way as tokens.

  • Representing the user
  • Introducing claims-based security
  • Understanding tokens and their representation on the net
  • Using Claims in .NET
  • LAB: Authenticating a web site with claims

Modern web Authentication and Authorization

In the modern web we all want to share stuff. But how do you safely allow one web site to access resources from another web site? With OpenID Connect you can delegate authentication to an identity provider (such as Facebook, Azure AD, Identity Server and others).

  • The Internet and a way of sharing
  • Introducing OAuth and OpenID Connect
  • OAuth Fundamentals: Authorization Code Grant, Implicit Grant and Client Credential Grant
  • Implementing OpenID Connect web sign-in with AzureAD and Identity Server
  • LAB: Protecting your ASP.NET Core site with OpenID Connect

Protecting a Web-API with OAuth

Modern web sites and mobile appls consume REST services. You can use OpenID Connect to authenticate users, after which you can use claims to authorize resources stored in a web API.

  • Protecting a Web API's Resources
  • Adding permissions to the Server Side
  • Requesting Permissions at the Client Side
  • Using the Microsoft Authentication Library (MSAL)
  • User Consent
  • LAB: Getting an access token and passing it to the server

Publishing Your Application

So you have finished a working version of your application. How do you deploy this? What are the options? Since .NET is cross-platform, you can build everything on Windows, and then run on Linux. You could even deploy your application to a Docker container! We will also discuss various deployment options, such as assembly trimming.

  • Deployment Options
  • Cross-platform Deployment
  • Self-Contained Deployment
  • Optimize your deployment with Assembly Trimming
  • Deploying to Containers

Azure App Services: Web Apps

So you want to host your web site. But what about scalability, fault-tolerance, HTTPS and other things? The cloud can make this a lot easier for you.

  • Deploying from Visual Studio
  • Configuring app settings, TLS, domain names and backup scheduling
  • Monitoring your Web API
  • LAB: Manually deploying your web site and database in Azure App Services

Source Control with GitHub

Sources are probably the most important part in any software project and we need a way to keep track of all sources and all changes. Here you will learn to use Git(Hub) to store the your project safely.

  • Distributed Source Control with Git and GitHub
  • Creating a local repository
  • Staging and committing files
  • Branching, Merge vs. Rebase
  • Synchronizing with a remote repository
  • Pull Requests
  • LAB: Working with Git and GitHub

Continuous Integration with GitHub Actions

To build quality software, and to limit nasty integration problems at the end of the project, doing a daily build is long regarded as a best practice. GitHub Actions makes building daily very easy through workflows. You'll learn how to manage the build, do desktop and web builds, and how you can setup a continuous integration environment. You'll then learn how to customize the build process to perform all your build steps including running unit tests and deploying to staging servers.

  • What is GitHub Actions?
  • Doing Continuous integration
  • What are jobs and steps?
  • Integrating with Azure using Publish Profiles or Service Principals
  • LAB: Deploying a web site to an Azure WebApp using GitHub actions

So, you've been using ASP.NET Core MVC for a while, and you want to learn more? Join us in this training to upgrade your skills to master .NET 6 and ASP.NET Core. In this advanced ASP.NET development course you will build up the necessary knowledge and tools for dealing with the complexity of modern web applications using .NET 6. Get more insights into Minimal APIs, SignalR, gRPC, Blazor, Azure, OpenID Connect and Internationalization. This training uses Visual Studio, but if you like you can use your preferred development environment.

This course is meant for developers that have experience with ASP.NET Core MVC and/or Web API and want to become a master in ASP.NET Core.

Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
    BELGIUM
  • Phone: +32 2 466 00 16
  • Email: info@u2u.be
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2022 U2U All rights reserved.