Building Web Applications with ASP.NET

5 days
UNASP
5 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Book now

Interested in a private company training? Request it here.

Introduction to the Web

You can't start developing for the web without knowing the fundamentals of the web. In this module, we explore the details and intricacies of the HTTP protocol that makes client-server communication possible on the web. Furthermore, we take a look at the REST architectural style since it is a fundamental concept to be aware of when transferring data over HTTP.

  • Http Methods
  • Common HTTP Headers
  • Important HTTP Status Codes
  • RESTful Architecture

ASP.NET Architecture

In this module you will learn about ASP.NET Core which is Microsoft's web development framework. We will see how HTTP requests are processed within ASP.NET as well as a high-level overview of the available technologies for developing web apps within ASP.NET Core, such as MVC, Blazor, Razor Pages and Web API.

  • ASP.NET Core Introduction
  • Server- versus Client-Centric Applications
  • ASP.NET Core Technology Overview
  • ASP.NET Core Request Processing Pipeline

The 3 Main ASP.NET Core MVC Components

In this module you will learn about the MVC pattern and why this pattern fits so well in the world of websites and web applicatons. 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 and how they work together.

  • The MVC Pattern in ASP.NET Core
  • Handling 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 MVC Components

End-point Routing

On the web the URL decides what the server will do. In ASP.NET Core, this is configured in the End-point Routing Middleware. A solid understanding of this middleware will allow you to build complex, feature-rich 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
  • Request Short Circuiting
  • 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 ties models, views and business logic together when handling a request.

  • Different types of Action Results
  • Working with GET and POST
  • Model Binding
  • Action Filters
  • Redirections
  • LAB: using MVC Controllers

ASP.NET Services and Dependency Injection

Services are simple objects used for implementing and encapsulating your business rules and logic. By using Dependency Injection we can decouple services from their dependencies. On top of improving maintainability and separation of concerns, it also makes testing our services a lot easier.

  • Services
  • What is dependency injection?
  • Methods of Dependency Injection
  • Dependency Inversion, Explicit Dependencies, and Inversion of Control
  • Using Services and Repository
  • LAB: Services and Dependency Injection

Designing your Web App's Model

Your website exposes your business data and functionalities to external clients. In this module you will learn how to model the data you expose correctly so that it becomes easy to maintain and easy to consume. To accomplish this, you will learn about ViewModels, an abstraction created to help maintain a clean separation between the Model and Views.

  • Designing your model
  • Passing Data to a View
  • ViewModels
  • Mapping between Model and ViewModel
  • LAB: Using ViewModels

Modeling your database with EF Core

When a database is designed, the idea is to normalize data, i.e. avoid duplicate data. When designing the object model for an application you try to come up with a design which is best suited for solving your business problems. This means that mapping tables to classes one-on-one is often a bad idea. Entity Framework Core allows us to map the relational world to the world of objects, allowing more complex mapping.

  • What is Entity Framework Core?
  • The need for Object Relational Mapping
  • Methods of configuration
  • Creating and applying migrations
  • Table and column mapping
  • Modeling properties
  • Modeling relationships
  • LAB: Mapping your entities to the database with EF Core

Razor Views

Discover the power of Razor syntax, a blend of C# and HTML, to craft dynamically rendered web pages on the server. In this module we will explore Razor and its syntax. we start with the basics, and end with some more advanced scenarios.

  • Building and Scaffolding Views
  • Understanding Layouts and Sections
  • Cleaner razor with Tag Helpers
  • Re-using Razor with Partial Views
  • Introducing Blazor Components
  • Adding Interactivity with Blazor Components
  • LAB: Sections and TagHelpers

DOM Manipulation with JavaScript

In this module, we will learn how to add client-side interactivity to our applications with JavaScript. We will learn how the DOM works, and how we can manipulate it, as well as handling user events in the browser.

  • Introduction to JavaScript
  • Understanding the DOM
  • DOM Selection and Manipulation
  • Event Handling
  • LAB: JavaScript Fundamentals in MVC

Responsive Web Design with Bootstrap

Your web site needs to look stunning on any device; whether it's a laptop, tablet or phone. Let Bootstrap be your guide towards a consistent looking application in the messy world of media queries and responsive design.

  • Normalizing and Resetting
  • The Grid System
  • Utility classes
  • Bootstrap Components
  • Customizing Bootstrap

Data Validation

Validating user input is important for two reasons: firstly, you don't want to allow invalid or even dangerous content to be persisted in your database. Secondly, when your users make mistakes, you want to help them correct those mistakes. In this module we look at best practices, validation options, and how to send feedback in case of errors.

  • Explicit versus Implicit Validation
  • Validating data using Data Annotations
  • Self-Validating Models
  • Validating using the Model Binder
  • Client-side validation with Unobtrusive JavaScript
  • LAB: Data Validation

Structuring an Application in ASP.NET

Building a maintainable application requires a solid foundation. This chapter dives into the principles of clean architecture for ASP.NET, guiding you through designing a project structure that's both robust and adaptable. Learn the best practices for organizing your codebase to facilitate scalability and manage complexity effectively.

  • Organizing Projects for Maintainability
  • Understanding Clean Architecture
  • Separation of Concerns in Project Layers
  • LAB: Architecting a Maintainable ASP.NET Application

Authentication

Authentication is about identifying who the user of the system is. In this chapter we look at the different authentication mechanisms, their use-cases, and how to implement them.

  • Authentication and Authorization in ASP.NET Core
  • Username and Password Authentication
  • Extending Authentication with your own Data
  • Using the Microsoft Identity Platform
  • Authorization with Policies
  • LAB: Securing your Application

Building RESTful Services with Web API

When building more client-centric applications, you will have to send a bunch of data back and forth between your client and server. Web API uses REST to allow the client to access resources on the server. It is based on the same principles as MVC.

  • What is REST?
  • Building a REST service with ASP.NET Core Web API
  • Supporting multiple representations: XML and JSON
  • LAB: Building a REST API

Consuming Web APIs

After you've built your back-end with Web API, it's time to jump over the fence and take a look at how client applications will consume it. In this module you will learn how .NET applications, as well as JavaScript applications can easily consume your Web API.

  • Consuming a Web API from .NET
  • Best Practices for the .NET HttpClient using IHttpClientFactory
  • Using the Swagger CodeGen Client
  • Consuming a Web API from JavaScript with Fetch
  • Web APIs and JavaScript Frameworks
  • LAB: Building a Client for your Web API

Deploying your Web App

Launching your web app successfully demands understanding deployment environments. This chapter provides comprehensive insights into cloud and on-premises deployment for ASP.NET apps.

  • Deployment Fundamentals: Azure vs. On-Premises IIS
  • Windows Authentication
  • Configuring HTTPS in IIS
  • Deploying ASP.NET Apps on Azure
  • Setting Up On-Premises Hosting

This course will teach you how to build Web applications using the ASP.NET Core MVC (Model-View-Controller) framework and patterns in .NET 6 to 8. This includes interacting with a database using Entity Framework Core and creating and consuming RESTful services with ASP.NET Core Web API and JavaScript.

Students should have a good knowledge of C#. Furthermore, a basic knowledge of HTML is advised.

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
© 2024 U2U All rights reserved.