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 (some people call these verbs)
- 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
- Client-centric versus Server-centric
The 3 Main ASP.NET MVC Components
Once you understand MVC, you need to learn how it is implemented in ASP.NET. 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 Components
This module will teach you about ViewModels, which helps maintaining a clean seperation
between the Model and Views
- Passing Data to a View
- LAB: Using ViewModels
we'll try to explain a couple of its quirks as well. This way, we can avoid surprises later.
- Primitives and Objects
- Functions and the Self-Invoking Function Pattern
- Strict Mode
- Error Handling
- LAB: Language Fundamentals
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
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 Core Pipeline
- Selecting your middleware in the
- 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
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 Concentional vs. Attribute Routing
- Routing Attributes
- Handling Routing Errors
- LAB: Routing in ASP.NET MVC
ASP.NET 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
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
- LAB: Sections and HTML Helpers
Reusable Razor Building Blocks
Don't copy-paste Razor! Reuse Razor! That's what you'll see here.
- Partial Views
- View Components
- Display and Editor Templates
- LAB: Reusable Razor Building Blocks
- Explicit versus Implicit Validation
- Validating data using Data Annotations
- Self-Validating Models
- Validating using the Model Binder
- LAB: Data Validation
ASP.NET 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
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.
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
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
Client-side service consumption with Vue JS
you would use a component-oriented library like Angular, React or Vue.
In this topic we'll have a closer look at Vue.
- The Evolution of Web Development
- Components Everywhere
- Vue Essentials
- Using the Fetch API to consume a REST Service
- LAB: Consuming a REST API with Vue JS
Authentication is about identifying who the user of the system is. In this chapter we look at the different
mechanisms and their application.
- Knock Knock... Who's There?
- Windows Integrated
- Username and Password
- Using External Authentication such as Google or Facebook
- Extending Authentication with your own Data
- Impersonation and Delegation