Overview

The course takes existing .NET developers and provides them with the necessary skills to develop modern MVC webbased applications, using Visual Studio 2019 and the ASP.NET Core 3.1.

Read more

Prerequisites

Please note: Before attending this class delegates must have a Microsoft account (signing up one is free). The instructions on how to set up a Microsoft account can be found here.

Read more

Course Outline

Module 1: Necessary C#

This is a 'refresh' chapter for those not confident with C#

It is brief and only intended as a refresh - not a 'learn from cold'.

There is no lab.

Module 2: Web Basics

This is a 'refresh' chapter for those not confident with web terminology.

It is brief and only intended as a refresh - not a 'learn from cold'.

There is no lab.

Module 3: Quick Tour around ASP.Net Core

In this module, delegates learn about the separation of concerns, working with Models, Controllers and Views to understand how a MVC application is structured and how the different parts interact with the routing engine to resolve a client request.

Lessons:

  • The MVC Pattern
  • Models, Views, and Controllers ASP.NET MVC Conventions MVC Project structure
  • Visual Studio 2019 support
  • Nuget

Lab:

  • Creating an ASP.NET MVC project using Visual Studio 2019

After completing this module delegates will:

  • Have gained a high-level overview of how to build an MVC-5 application

Module 4: Dependency Injection and Configuration

Delegates will get an overview of Dependency Injection and how it is used within an ASP.NET Core application

Lesons:

  • Dependency Injection
  • Dependency Injection in .Net Core
  • Registering and Injection
  • Injection of Configuration Options
  • The MVC Request cycle

After completing this module delegates will

  • Understand the importance and usage of Dependency Injection
  • Know how to use and configure Dependency Injection in an ASP.NET Core application

Module 5: Entity Framework

Because Entity Framework is such an important part of most MVC applications, we cover the topic before exploring models.

Lessons:

  • The main features of Entity Framework
  • CodeFirst / CodeFirst from Database
  • Lazy / Eager / Explicit loading
  • Linq To Entities
  • Initialization and Migration
  • Using Stored Procs

Labs:

  • CodeFirst and loading options
  • (Optional) Initialization and Migration

After completing this module delegates will:

  • Know the different strategies available in Entity Framework
  • Know how and when to use Initialization and Migration

Module 6: Controllers and Actions

Delegates learn how to structure and build controllers for key entities by learning how to write actions that return views for different scenarios. The usage of the Http Get and Post verbs in building forms is discussed.

Lessons:

  • What is a controller? Action and parameters
  • Returning Results from Actions Passing data to views Asynchronous Actions Processing HTTP Forms

Lab:

  • Building controller classes

After completing this module delegates will:

  • Understand the role of the controller
  • Be able to write Actions to process requests

Module 7: Unit Testing Controllers

This module teaches delegates to use Visual Studio Unit Testing capabilities to carry out unit testing on Controllers

Lessons:

  • Unit Testing Overview
  • Understanding Entity Framework Configuration
  • In-memory Databases

Lab:

  • Create a unit test for a Controller

After completing this module delegates will:

  • Know how to implement Unit Tests using Visual Studio

Module 8: Views

Delegates create views and partial views using the Razor engine. They will learn how to render client side mark-up, based on what the Controller's request and the Model sends. Delegates learn how to create master layout pages to enforce a consistent layout and style across a website, plus how to implement forms for the websites 'Create', 'Update' and 'Delete'

pages.

Lessons:

  • Views
  • Razor Syntax
  • HTML Helpers and Tag Helpers
  • Layout pages
  • Partial Views and View Components
  • Templates

Lab:

  • Implementing views

After completing this module delegates will:

  • Be able to use the Razor engine to render views and partial views.
  • Create master layout pages for a consistent look and feel.
  • Use Helper methods to generate client side mark-up.
  • Know how to access model data from within Views

Module 9: Bootstrap

In this module delegates work with Bootstrap. They will use the various Bootstrap styles to customise the look and feel of a website. Become familiar with the Bootstraps grid system to control the layout of content and how bootstrap provides a responsive design.

Lessons:

  • Bootstrap getting started
  • Bundling and Minification
  • Bootstraps responsive design
  • Bootstrap components

Lab:

  • Styling webpages with Bootstrap

After completing this module delegates will:

  • Know how to use the Bootstrap UI Framework
  • Be able to create mobile-first responsive web pages

Module 10: Validation

Delegates will learn to use data annotation attributes to provide validation for the model data. They use html helpers to provide validation assistance within views.

Lessons:

  • Data Annotations and Validation Attributes Preventing JavaScript Injection attacks

Lab:

  • Model Validation

After completing this module delegates will:

  • Understand the Model Binding process.
  • Be able to use Data Annotations and Validation attributes within model classes

Module 11: Error Handling

Delegates will learn how to protect a MVC application from script injection attacks, and how to implement custom exception handling within the application.

Lessons:

  • Error handling
  • Exception bubbling
  • The default error page
  • Error filters

Lab:

  • Error handling

After completing this module delegates will:

  • Provide custom error handling for a MVC application.

Module 12: Routing

Delegates learn how to create routes that map URLs to controller actions using both convention-base routing and attribute based routing. They will implement routing constraints to ensure that routes contain the expected data. Also included is how to unit test routes.

Lessons:

  • What are routes? Defining and using routes
  • Convention-based Routing Attribute-based Routing

Lab:

  • Configuring and de-bugging routes

After completing this module delegates will:

  • Understand the purpose of routes.
  • Know how to add literals and constraints to routes.
  • Know the benefit of Areas.

Module 13: Web API

Delegates learn when and how to create a restful service using Web API 2. They will learn to use Fiddler2 to help test and debug Web APIs during development and how to call a Web API from multiple clients.

Lessons:

  • What is Web API
  • HTTP Request, Response and Methods
  • Content Negotiation
  • Controllers
  • Data Transfer Objects
  • Using Postman

Lab:

  • Creating and calling Web API Services

After completing this module delegates will:

  • Understand the Web API framework
  • Learn about the HTTP requests and responses
  • Know how to create a Web API
  • Be able to consume a Web API from a variety of devices

Module 14: State

Delegates learn about the various ways of maintaining state within a web server, how different state options affect the scalability of an application, and how to use page output caching and application caching service providers to improve application performance.

Lessons:

  • HTTP as a stateless protocol
  • Cookies
  • Session state and TempData

Lab:

  • Managing and maintaining state

After completing this module delegates will:

  • Understand the various techniques for state management.

Module 15: Razor Pages

Delegates will learn about Razor Pages, a lightweight alternative to the MVC architecture.

Lessons:

  • What are Razor Pages
  • Enabling and Creating Razor Pages
  • Page Models, Handlers and Model Binding
  • Data Validation and Error Handling

Lab:

  • Add Razor Pages to you application

Module 16: Security

Module 16 examines the ASP.NET Identity infrastructure that is added automatically when creating new MVC projects.

Delegates will see the security options available and also how to configure, integrate and extend ASP.NET Identity.

Lessons:

  • Authentication
  • Authorisation
  • Managing Users
  • Identity User Interface
  • Other Authentication Schemes

Lab:

  • Add security to your application, including policies
  • Customise the security system
  • Use JWT to authorise Web API

After completing this module, the delegates will:

  • Understand the security infrastructure provided in MVC

Module 17: Deployment

The delegates learn about the different deployment options available. They learn how to create deployment packages to deploy MVC applications into IIS and Azure, and how to use configuration transforms to modify web.config during deployment.

Lessons:

  • Deployment Options
  • Web Deployment Tool
  • Working with Packages
  • Configuring Deployment Options
  • Applying Transforms
  • Deploying Web Applications to Azure

Lab:

  • Deploy ASPNET.Core Application

After completing this module delegates will:

  • Know how to deploy ASP.NET Core applications to hosting servers and Microsoft's Azure

How to create and configure deployment profiles

Read more

Why choose QA

Special Notices

Please note: for Attend from Anywhere customers an additional screen is required. The additional screen must have a minimum screen size of 19 inch and minimum resolution of 1280x1024, with the vertical resolution (1024) being the most critical.

Frequently asked questions

See all of our FAQs

How can I create an account on myQA.com?

There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.

If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".

If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.

Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.

How do QA’s virtual classroom courses work?

Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.

We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.

Learn more about our Virtual Classrooms.

How do QA’s online courses work?

QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.

All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.

Learn more about QA’s online courses.

When will I receive my joining instructions?

Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.

When will I receive my certificate?

Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.

Contact Us

Please contact us for more information