The HTTP Protocol
You can’t start developing for the web without knowing the fundamentals of HTTP. This module talks about the HTTP protocol used to request resources from the server. We’ll explore the details of what is used for a browser and for a server to make sure the communication is legitimate.
- Http Methods
- Status Codes
ASP.NET Core MVC: Introduction
In this module You will learn about the MVC pattern and why this pattern fits so well in the world of websites.
- The Model-View-Controller (MVC) pattern
- MVC in ASP.NET Core
- Client-centric versus Server-centric applications
The 3 Main ASP.NET Core MVC Components
Once you understand MVC, you need to learn how it is implemented in ASP.NET Core. This module explores the most important components of the framework.
- Handling the user interaction with Controller
- Rendering the response with MVC views
- Creating a MVC Model and ViewModel
- Understanding Routing
- LAB: The 3 main ASP.NET Core Components
Introduction to Entity Framework Core
Entity Framework Core allows us to map the relational world to the world of objects. You will learn how to model your database in EF Core and apply the changes with Code-first Migrations.
- Decoupling Conceptual from Logical Data Structure
- Modelling with Conventions, Attributes, or Fluent API
- Creating and Applying Migrations
- Querying Data with LINQ
- Updating Data
- LAB: Modelling a Database with EF Core
This module will teach you about ViewModels, which helps maintaining a clean separation between the Model and Views.
- Passing Data to a View
- Mapping between Model and ViewModel
- LAB: Using ViewModels
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.
- The principle of the ASP.NET Core Pipeline
- Building the Pipeline using Middleware
- Understanding Dependency Injection
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 Constraints
- Route Parameter Transformers
- Understanding Route Matching
- Using Conventional vs. Attribute Routing
- Routing Attributes
- Handling Routing Errors
- LAB: Routing in ASP.NET Core MVC
ASP.NET Core MVC Controllers
In this module we’ll take a closer look at the C in MVC. The controller has a very important role to fulfill: It’s the component that figures out what to do when receiving a request.
- Model Binding
- Different Action Results
- Working with GET and POST
- Action Filters
- LAB: using MVC Controllers
Responsive Web Design with Bootstrap
Your web site needs to look fabulous on any device; whether it’s a laptop, tablet or phone. Let’s bootstrap be your guide in the messy world of media queries.
- Normalizing and Resetting
- The Grid System
- Utility classes
- Bootstrap Components
- Customizing Bootstrap
- Primitives and Objects
- Functions and Scope
- Error Handling
- LAB: Language Fundamentals
In this module you’ll explore Razor and its syntax. You’ll see the basics as well as some advanced scenarios.
- Views and View Engines
- Layout and Sections
- HTML and Tag Helpers
- Partial Views
- LAB: Sections and HTML Helpers
- Explicit versus Implicit Validation
- Validating data using Data Annotations
- Self-Validating Models
- Validating using the Model Binder
- LAB: Data Validation
ASP.NET Core MVC Dependency Injection & Testing
Dependency Injection is the art of decoupling an object from its dependencies. Next to benefits like maintainability and separation of concerns, it also makes testing a lot easier. In this module you will use dependency injection to create your first unit tests.
- Methods of Dependency Injection
- Dependency Inversion, Explicit Dependencies, and Inversion of Control
- Unit Testing your Components
- Stubbing, Mocking & Faking
- LAB: Dependency Injection in MVC
Building RESTful Services with Web API
If you are building a more client-centric application, it is important to send data back and forth between your client and server. Web API uses REST to send data. It’s based on the same principles as MVC.
- What is REST?
- Building a REST Web-API with ASP.NET Core Web API
- Supporting multiple representations: XML and JSON
- LAB: Building a REST API
Consuming Web APIs
- Consuming a Web API from .NET
- Best Practices for the .NET HttpClient
- Using the Swagger CodeGen Client
- LAB: Building a Client for your Web API
Authentication is about identifying who the user of the system is. In this chapter we look at the different authentication mechanisms and their application.
- Knock Knock… Who’s There?
- Windows Integrated
- Username and Password
- Extending Authentication with your own Data
- Using the Microsoft Identity Platform
- Authorization with Policies