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

Advanced .NET 5 Web Development with Visual Studio 2019

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 5 introduction

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

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

Visual Studio for ASP.NET Core

With .NET 5 Microsoft introduced a new project model, with a lot of emphasis on NuGet packages. This new model can be used with any development environment, such as Visual Studio Code.

  • Understanding the new project structure
  • Browser auto-refresh while developing
  • Installing dependencies with NuGet
  • Targeting frameworks and handling differences
  • Executing commands and tools with the dotnet CLI
  • Pinning the SDK with global.json
  • Handling bundling and minification in .NET 5 projects

.NET 5 Cross-Platform Capabilities

So how can I build .NET 5 applications on a Mac or Linux machine?

  • Developing ASP.NET Core on any platform
  • Generating a .NET 5 project using dotnet CLI
  • Getting started with Visual Studio Code
  • LAB: Building a simple site with dotnet cli and 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 Core pipeline, and how to make it do your bidding.

  • Understanding the principle of the ASP.NET Core Pipeline
  • Selecting your middleware in the Startup class
  • Understanding the need for dependency injection and how to configure your dependencies
  • Adding your first middleware for serving static files
  • ASP.NET Core has its own routing middleware
  • Showing proper diagnostics while developing, and how to configure it in production
  • Review of built-in middleware
  • LAB:Configuring the ASP.NET Core Pipeline

ASP.NET Core Configuration

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

  • No more web.config
  • Formats: JSON, INI, XML, and others..
  • Different ways of getting configuration to your code
  • Storing sensitive configuration in Secrets
  • Why you should store confidential configuration in environment variables and user secrets
  • Using the Options pattern
  • Adding your own configuration provider
  • LAB: Using the new configuration system

Logging

Proper logging is essential to find problems while developing and in production. .NET 5 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
  • An example: Using NLog
  • Logging guidelines and recommendations

Building Custom Middleware for ASP.NET Core

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.

  • What is the OWIN specification?
  • Building your own custom middleware
  • Testing your middleware
  • LAB: Building a custom middleware class and testing it

End-point Routing

On the web the URL decides what the server will do. In ASP.NET Core you will find the End-point Routing Middleware. A solid understanding of this middleware is required to build applications with ASP.NET Core.

  • Getting Started with Routing Concepts
  • Defining Routing Templates
  • Route Parameter Contraints
  • Route Parameter Transformers
  • Understanding Route Matching
  • Using Conventional vs. Attribute Routing
  • Routing Attributes
  • Handling Routing Errors
  • LAB: Routing and custom routing contraints

ASP.NET Core Model-View-Controller

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
  • What are View Components, and how can I build and use them
  • Service Injection with views
  • LAB: What is new in ASP.NET Core MVC

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

Entity Framework Core

With .NET 5 also comes a while new Entity Framework Core. A new implementation of EF, which can run cross-platform, on Windows, Mac and Linux.

  • Differences with .NET 4.x Entity Framework
  • Scaffolding your project from an existing database
  • Understanding the generated code
  • Interacting with the database with LINQ
  • LAB: Scaffolding your model from an existing database

Modeling your database with EF Core

Mapping in EF Core uses conventions, attributes, or Fluent API. You will see how to use these to model your database in EF Core and apply the changes with Code-first Migrations.

  • Methods of configuration
  • Creating and applying migrations
  • Table and column mapping
  • Modeling properties
  • Mapping Value generated properties
  • Handling Concurrent updates
  • Modeling relationships
  • Mapping inheritance
  • LAB: Modelling a database with EF Core

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

Architecting Modern Web Applications

So what is a modern web application? One that uses Angular and TypeScript? With the speed that modern web application development evolves, there is the chance that your web site uses 'old' technology by the time it is done. But sound architecture never goes stale. As a wise man once said: 'If you think good architecture is expensive, try bad architecure'.

  • "Clean" Architecture: put the business and application model at the center
  • Understanding the Core, Infrastructure and Presentation layers
  • Testing everything with Clean Architecture
  • LAB: Creating the structure for a web site with clean architecture

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.

  • Using the Web Site Gallery
  • Deploying from Visual Studio
  • Free, shared, basic and standard plans
  • Scaling options
  • 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

Logging and monitoring your applications with Application Insights

In this module, you will learn about Applications Insights which allows you to detect and diagnose exceptions and application performance issues in the cloud. You will learn how to implement Applications Insights into your website to monitor your backend and frontend behaviour.

  • Enabling Application Insights
  • Diagnosing Failures
  • Diagnosing Dependencies
  • Custom events and using Metrics Explorer
  • Availability and Performance
  • Using Alerts to detect live problems early
  • Snapshot debugging

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 organisation. 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: Understanding Azure AD and its configuration

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

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
  • Different Views
  • Validation Messages
  • Autodetect Cultures
  • Override Cultures
  • Client-side Localization
  • LAB: Adding language support to an ASP.NET Core web site

So you've been using ASP.NET MVC for a while, and you want to learn more? Join us in this training to upgrade your skills to master .NET 5 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 5, Entity Framework Core, apply Clean Architecture, and get more insights into SignalR, Blazor, Azure, OpenID Connect and Internationalization. With .NET 5 you can choose your development environment, such as Visual Studio, Visual Studio for Mac, Visual Studio Code, or any other. And then deploy to Windows, OSX or Linux (containers). 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 MVC and/or Web API and want to get on board with the latest development 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
© 2021 U2U All rights reserved.