ASP.NET Core Master Class
ASP.NET Core Project Development Training
About the Course
ASP.NET Core project development training course is primarily designed for .NET professionals who want to learn how to develop modern cloud-based app using ASP.NET Core. In this course, you will learn about .NET Core, middleware, MVC pattern, html helpers, tag helpers, custom helpers, built-in validation and custom validation, querying database using Entity Framework Core.
Course objectives
At the completion of this course, attendees will be able to;
- Understand .NET Core architecture and Advantages.
- Understand ASP.NET Core middleware.
- Implement ASP.NET Core Fundamentals.
- Configure ASP.NET Core MVC.
- Use Dependency Injection in ASP.NET Core.
- Work with Entity Framework Core.
- Handle Errors in ASP.NET Core.
- Create REST Service using Web API.
- Understand and Implement Repository, Unit of Work and Dependency Injection Design Pattern.
- Learn to build end-to-end application using ASP.NET Core.
- Use ASP.NET Core Best Practices to build enterprise-grade application.
- Application Deployment on IIS.
Who can do this course?
All .NET Beginner(s)/Professional(s) who are keen to develop modern, light weight and cloud-based web applications should go for this course.
Pre-requisites
Anyone who wants to learn Mastering ASP.NET Core should have a basic knowledge of C# and HTML.
Tools/IDE
Visual Studio 2019, VS Code, SQL Server 2008 r2 or Higher, Postman
Course Curriculum
Module 1: Introduction to ASP.NET Core
.NET Core
- Introduction to .NET Core
- Understanding ASP.NET Core
- Advantages of ASP.NET Core
- ASP.NET Core Version History
- Why ASP.NET Core?
- Features of ASP.NET Core
- What ASP.NET Core doesn't have
- ASP.NET Core Workflow
- .NET Core Framework Architecture
- .NET Core 5.0 vs. .NET 4.5
- .NET Core Supports
- Does not depends on IIS for hosting
ASP.NET Core and MVC5
- Introduction to ASP.NET Core
- ASP.NET Core 3.1 and 5.0 Features
- ASP.NET Core vs. ASP.NET MVC5
- Advantages of ASP.NET Core
Visual Studio Project Templates
- Understanding Visual Studio ASP.NET Core Templates
- Creating an ASP.NET Core project
- Understanding ASP.NET Core project folder structure
- Understanding configuration files
Module 2: Development Environment Setup & Project Folder Structure
- ASP.NET Core - Development Environment Setup
- Understanding Visual Studio ASP.NET Core Templates
- Creating an ASP.NET Core project
- Understanding ASP.NET Core project folder structure
- Understanding configuration files
- Project Structure Change
Module 3: First ASP.NET Core Application
- First ASP.NET Core Application
- ASP.NET Core - Project Structure
- .csproj
- Dependencies
- Properties
- wwwroot Folder
- Program.cs Class
- Startup.cs Class
Module 4: ASP.NET Core - wwwroot Folder
- ASP.NET Core - wwwroot Folder
- Serve static files from different folder than wwwroot folder in ASP.NET Core
- ASP.NET Core - Serving Static Files
- StaticFiles Middleware-UseStaticFiles()
Module 5: Set Default File
Module 5: File Server
Module 6: ASP.NET Core – Middleware
- What is Middleware
- Configure Middleware
- Configure Multiple Middleware
- Run()
- Use()
- Add Custom Middleware
Module 7: ASP.NET Core - Environment Variable
- What is Environment Variable?
- Access Environment Variable at Runtime
Module 8: ASP.NET Core - Exception Handling
- Exception Handling in ASP.NET Core
- UseDeveloperExceptionPage
- UseExceptionHandler
Module 9: Settings or steps for MVC and Routing?
- What are necessary settings or steps for MVC and Routing?
- Understanding Model, View and Controller
- What is UseMvc?
- What is UseMvcWithDefaultRoute?
- What is AddMvc?
- What is AddMvcCore?
- AddMvc or AddMvcCore, which one is better?
- AddMvcCore Method
- AddMvc Method
Module 10: Routes & URLs
- Introduction to Routing
- Defining Routes
- Attribute Routing
- Need of attributes routing
Module 11: Web API
- Introduction to SOA
- Introduction to REST
- REST Principles
- Understanding Web API
- Choosing between WCF and WebAPI
- Web API Controller & Actions
- Understanding Controller & Actions
- Creating Controller
- Creating Actions
- Add [Area] attribute to controllers
- Onion Architecture in ASP.NET Core
- Why Onion Architecture
- Advantages of Onion Architecture
- Onion Architecture Layers
- What is AutoMapper?
- Installing AutoMapper
- Configuring AutoMapper
- Web API Post Method
- Web API Put Method
- Web API Get Method
- Web API Delete Method
- Web API Get by Id Method
Swagger Introduction
- What is Swagger?
- Installing Swagger
- Configuring Swagger
Module 12: Database Operations and Postman
- CRUD Operations using Web API
- Using Postman for testing Web API
- Consuming Web API using ASP.NET Core
Advanced Web API
- Implementing Content Negotiation
- Parameter binding
- Web API Versioning
- Securing WebAPI
Module 13: REST API Project with Onion Architecture
- Build Rest API Project for ecommerce Application
Module 14
Model, View, Controller & Actions
- Understanding Model, View and Controller
- Types of Views
- Creating Controller
- Understanding Actions
- Actions and Non-Actions Methods
- Understanding Action Results
- Communication between Controller and View
Razor View Engine
- Understanding Razor View Engine
- Razor Syntax
- Razor Statements, Loops etc.
Routes & URLs
- Introduction to Routing
- Defining Routes
- Attribute Routing
- Need of attributes routing
Module 15
Helpers
- Understanding Html Helpers
- Types of Html Helpers
- Built-In Html Helpers
- Tag Helpers
- Inline Helpers
- Custom Helpers
- Url helpers
Server-side Data Receiving Ways
- Action Parameters
- View Models/Objects
- IFormCollection
Reusable UI Components
- Partial View
- View Components
Module 16
ViewModel & Validation
- Creating ViewModel
- Understanding ASP.NET Core MVC Validation
- Need of Server Side and Client-Side Validation
- Validation with Data Annotation
- Custom Validations
Data Passing Techniques
- ViewData
- ViewBag
- TempData
- Session
- Query String
- Cookies
Module 17
Entity Framework and EF Core
- What is ORM
- ORMs used with .NET
- EF6 vs. EF Core
- Advantages of Entity Framework
Database Modeling
- Defining Mapping using Data Annotation
- Implementing CRUD Operations
- Defining Mapping using Fluent API
Database Migrations
- Entity Framework Code First Migrations
- Updating Database when the Model Changes
- Rollback Db changes
- Migrations best practices
- Script Migration
Database First Approach
- Understanding Db First Approach
- Reverse Engineering Approach
- Db First using EF Core Power Tool
- Updating Code using EF Core Power Tool
DB Procedures and Functions
- Creating and Sps and Functions
- Calling Stored Procedures
- Calling Db functions
Module 18
Repository Design Pattern and Unit of Work Design Patterns
- Understanding Repository and UOW Design Pattern
- Need of Repository Design Pattern
- Need to Unit of Work Design Pattern
- Implementing Repository and UOF Design Pattern
Dependency Injection
- Understanding Dependency Injection
- Need of Dependency Injection
- Implementing DI
Module 19
Authentication: ASP.NET Core Identity
- ASP.NET Core MVC Authentication Options
- Introduction to ASP.NET Core Identity
- Implementing Identity
ASP.NET Core MVC Pipeline, Middleware and Filters
- Exploring ASP.NET Core Pipeline
- ASP.NET Core MVC Middleware
- ASP.NET Core MVC Filters
- Extending ASP.NET Core MVC Filters
Securing Web API
- Understanding Token based Security
- Implementing Token based Security
- Implementing Authorization
Module 20 (Project Development)
Discussing Project Architecture
- Understanding Application layers
- Discussing Application Entities Properties
- Discussing Relationship among Application Entities
Developing Project
- Designing Application Architecture
- Developing DAL layer using Entity Framework Core
Implementing Design Pattern
- Developing BAL layer
- Repository Design Pattern
- User Login Process
- Dependency Injection
Module Development
- Creating Admin Module using Area
- Creating User Module using Area
Module 21 (Project Development)
ASP.NET Core MVC Authentication: Identity
- ASP.NET Core MVC Authentication Options
- Introduction to Identity
- Implementing Identity
ASP.NET Core MVC Pipeline, Middleware and Filters
- Exploring ASP.NET Core Pipeline
- ASP.NET Core MVC Middleware
- ASP.NET Core MVC Filters
- Extending ASP.NET Core MVC Filters
- Configuring ASP.NET Core MVC Filters
Module 22 (Project Development)
Securing ASP.NET Core MVC App
- Implementing Authorization using Authorization Filter
- Passing Logged in User Info Across the App
Category and Product Listing
- Category CRUD Operations
- Product CRUD Operations
Securing ASP.NET Web API
- Understanding Token based Security
- Implementing Token based Security
- Customizing principal
- Implementing Authorization
Module 23 (Project Development)
ASP.NET Core Best Practices
- Important Nuget Packages
- Tips to optimize application performance
- Understanding Bundling & Minification
- Minimize number of static files requests
- Understanding Error Logging Options
- Configuring Error logging provider
Deployment
- Preparing code for deployment
- Deployment on Cloud/IIS