Developing modern web apps using ASP.NET Core 3 with Gill Cleeren
Microsoft has introduced the next version of ASP.NET: ASP.NET Core 3. A new version of MVC, ASP.NET Core 3 MVC has been introduced to allow developers to build modern and future-proof, server-side web applications.
With this new release, the MVC and Web API frameworks have been unified. This new version introduces the biggest change to the platform since its inception many years ago. In this course, students will get all information on these new frameworks to get started building web applications with ASP.NET Core 3 MVC.
This course will give students a solid understanding of ASP.NET Core 3 and ASP.NET Core 3 MVC. It requires that students are familiar with C# and have at least basic web development skills. This course can act both as an introduction to students new to MVC who want to get started with the newest version of the framework as well as an overview for seasoned ASP.NET developers willing to learn what’s new in this version of the framework.
Target Audience and Prerequisites
This course is intended for web developers. The prerequisites are:
- WebForms or other ASP.NET Experience is a plus but not required
About Gill Cleeren
Gill Cleeren is a Microsoft Regional Director, Windows Platform MVP and Pluralsight author. Gill focuses on mobile development for the Windows stack as well as Xamarin. Gill is a frequent speaker at many international conferences such as TechDays, TechEd, NDC, VSLive and many more. He also is the founder of Techorama, the biggest developer conference in Belgium and he runs Visug, the .NET user group in Belgium as well.
An introduction to .NET Core and ASP.NET Core MVC
In this very first module, you’ll learn about the new .NET Core framework. This new version brings with it some interesting changes, one of them being the ability to run .NET Core apps on multiple platforms. We’ll explore from a high-level perspective the ASP.NET Core framework, its strengths and its building blocks.
Finding your way around ASP NET Core MVC
In this module, we will together create the File à new project and see what is getting generated. You’ll learn about the new files, workflow and configuration options that come with ASP.NET Core 3.0.
Creating our first page
In this module, we’ll be building our first ASP.NET Core pages. We’ll start with basic configuration and add a first view, model and a controller. You’ll see how routing works as well as how we can allow users to authenticate with the site. After this module, you’ll already have a good understanding of how an ASP.NET Core MVC app is built and you’ll be able to identify its major building blocks such as controllers, routing and views.
An introduction to EF Core
ASP.NET Core MVC comes backed with support of a new version of Entity Framework Core. This new version of the framework has been redesigned from scratch to target .NET Core. In this module, we are exploring the new framework. We’ll see how it’s focuses entirely on code-first approaches.
Doing more with the view
Now that you have a basic understanding of the ASP.NET Core MVC framework, it’s time to start digging deeper. You have already seen some Razor in this course. Razor is the view engine that comes with ASP.NET MVC allowing us to create dynamic HTML responses. In this module, we will cover more about Razor. This module will also look at tag helpers, layouts, viewstart and view components.
Navigation and Routing
Routing is something specific to the ASP.NET Core MVC framework. In this chapter, you’ll learn about the options that are offered by the ASP.NET Core 3 MVC framework to navigate to pages as well as creating well-formatted URLs for reasons of SEO.
Creating a Form
Creating the model requires some good thinking ahead as it forms the base of our application. Model binding is covered in this chapter as well as validation, which will give us the option to give quick feedback to the user about erroneous input. We’ll together create a form that uses the model.
An introduction to ASP NET Identity
ASP.NET Core comes with ASP.NET Identity, a built-in framework that allows authenticating users from different sources. In this module, we’ll explore how we can authenticate users and how we can authorize them to perform actions within our site.
Advanced topics on ASP.NET Identity
In this chapter, we’ll dig deeper in what we have started in the previous chapter. We’ll look in detail at user management, role management, claims and policies.
Tackling security risks with ASP.NET Core MVC
ASP.NET sites will be under attack, that’s for sure. We of course as the developers of the site need to make sure that we tackle risks before it’s deployed. In this module, we’ll see how we can tackle XSS, CSRF… as the most common security risks in our application.
Advanced concepts in ASP.NET Core
In this chapter, we will cover in more detail several more advanced topics such as model binding, custom and complex tag helpers, attribute routing, filters and many more.
Unit testing in ASP.NET Core MVC
Building enterprise applications without a good set of tests is far from a recommended approach. In this chapter, we will explore how you can write unit tests for an ASP.NET Core 3 MVC application using xUnit.
Diagnostics and Logging
Through middleware, ASP.NET Core 3 applications can be configured to give diagnostic information to the users. Also, ASP.NET Core comes with a built-in logging system that we’ll explore in this module as well. We’ll also add some third-party logging providers here as well (Serilog).
Caching and performance
Performance is vital for ASP.NET Core applications. In this chapter, we will learn how we can make use of the different ways of adding caching to our site, including in-memory caching, distributed caching and response caching.
Deploying and CI
In this chapter, we will explore how we can deploy the application to Azure. Using VSTS (Visual Studio Team Services), we will also see how we can automate the build as well as set up a continuous build and continuous integration.
Creating an API using ASP.NET MVC Core 3
ASP.NET Core MVC now has unified the API and regular controller model, making the creation of APIs even simpler. In this module, we are therefore focusing on the aspects that are closely related to RESTful Web APIs.