ASP.NET Core MVC - Intermediate

Course Description

A 4-day course covering 12 distinct topics, this course is designed to provide a comprehensive grounding in all aspects of bringing a full-stack ASP.NET Core MVC web application from code to completion. The course is intentionally broad in scope.
4 Days
Contact us for pricing
 

Goal

To provide students with the skills to develop, test, deploy and optimise a full-stack ASP.NET Core MVC application.

Learning Outcomes

Upon successful completion of this course students should be able to:
• Develop a responsive web application using the ASP.NET CORE MVC framework;
• Develop web services and clients;
• Develop data abstraction and persistence layers, using ADO, Entity Framework and LINQ;
• Articulate the different roles of Model, View and Controller;
• Write and execute Unit Tests for the Model and Controller;
• Apply asynchronous / concurrent / multithreaded programming techniques with a view to producing a performant MVC application;
• Integrate front-end technologies such as AJAX, CSS, JS and HTML with the back-end;
• Improve application security using authentication, authorisation and good coding practices;
• Deploy an ASP.NET Core MVC application to Microsoft IIS server.

Who should attend?

This course is designed for programmers with some C# and .NET experience, who are looking for a course that goes beyond a simple introduction to ASP.NET Core MVC. While the course aims for breadth rather than depth, it will provide students with the tools to explore the topics covered in more detail once the course is complete.

Prerequisites

• A knowledge of Object-Oriented Programming and C#;
• Some familiarity with Visual Studio 2019;
• A basic understanding of databases;
• The course is suitable for students with no prior knowledge of Web application development or MVC.

Day 1

1. Introduction to ASP.NET Core MVC
• Review of ASP.NET Web Forms
• Advantages and Disadvantages of Web Forms
• Model-View-Controller Pattern
• ASP.NET Core MVC
• .NET Core
• Considerations in Using ASP.NET MVC
• Unit Testing

2. Getting Started with ASP.NET Core MVC
• ASP.NET Core MVC Testbed
• Using Visual Studio
• Configuring for ASP.NET Core MVC
• Rendering Views
• Razor View Engine
• Dynamic Output
• Custom Project Templates
• Creating a GitHub repository and using via Team Explorer in VS.

3. ASP.NET MVC Architecture
• The Controller
• The View
• The Model
• Helper Methods for HTML
• Form Submission
• Model Binding
• Input Validation

Day 2

4. The Model
• More Complex Models in MVC Programs
• Microsoft Technologies for Model Persistence
• Using XML Serialization
• NuGet Package Manager
• Using ADO.NET
• Using Entity Framework Core
• Code-first
• Data-first
• Data access examples for chosen DBMS

5. The Controller
• Controller Base Class
• Actions
• Retrieving Data from a Request
• Action Results
• Action Attributes
• Serving Static Files
• Filters

6. The View
• View Responsibility
• Using ViewBag
• Using Dynamic Objects
• Html Helpers
• Validation Attributes
• ViewModel
• Tag Helpers
• Client Side Validation
• Bootstrap Integration
• AJAX

Day 3

7. Unit Testing
• Test-Driven Development
• Test Automation
• Refactoring
• Visual Studio Unit Test Framework
• Test Cases
• Test Classes
• Test Runners
• Testing ASP.NET MVC Applications
• Dependency Injection
• Mocking Frameworks
• Inversion of Control Containers

8. Routing
• Routing in ASP.NET Core MVC
• Properties of Routes
• Parameters in Routing
• Registering Routes
• Attribute Routing

9. NET Core Web API
• ASP.NET Core Web API
• Representational State Transfer
• REST and Web API
• HTTP Services Using Web API
• HTTP Testing Tools
• Using Postman
• HTTP Response Codes
• ASP.NET Web API Clients
• Asynchronous clients

Day 4

10. Multithreading, Async and PLINQ
• Introduction to PLINQ
• Understanding Speedup in PLINQ
• Order Preservation
• Merge Options
• Potential PLINQ pitfalls
• Asynchronous programming in .NET Core.
• Asynchronous controllers.
• Multithreading in .NET core
• Implications for AJAX

11. Authentication and Security
• Input Forgery
• Cross-Site Scripting
• Session Hijacking
• Cross-site Request Forgery
• SQL Injection
• Using the MVC Framework Securely
• Building an MVC Core app with authentication and authorisation.


12. Deployment to IIS
• Hosting model
• Application Configuration
• The web.config file
• IIS configuration
• The Core hosting Bundle
• Web Deploy

C#OOP.NET.NET Frameworkasp.netasp.net coreasp.net core mvcmvcTDDVisual StudioVisual Studio 2019Microsoft Visual Studio 2019