
This video will give you an overview about the course.
The aim of this video is to get to know the tools that will be used throughout the course.
Explore what an IDE is
Go through Visual Studio’s history
Take a look at different versions of Visual Studio
The aim of this video is to download and install visual studio.
Download the IDE
Choose the correct installation components
Install the IDE and test to see if everything works fine
The aim of this video is to create and run your first project.
Create your first project in Visual Studio
Get familiar with the project
Run your hello world app
The aim of this video is to go through the Installation process and run Visual Studio Code in Linux.
Install ASP.NET Core MVC in Ubuntu Linux
Install Visual Studio Code in Ubuntu Linux and run your first app
Create and run an app from the bash shell
The aim of this video is to use the command line in Windows.
Get to know the command line in Windows
Create an app from the command line
Run your app from the command line
The aim of this video is to get familiar with the new project structure.
Find out what is new in the project: wwwroot, launchsettings.json
Find out what is missing: Global.asax, web.config and package.json
Explore the csproj file and how to edit it
The aim of this video is to learn about Middleware and what role it plays in ASP.NET Core MVC.
Review old ASP.NET Request processing pipeline
Learn the ASP.NET Core Request Processing Pipeline
Learn the ASP.NET Core Request/Response procedure in Request Processing Pipeline
The aim of this video is to learn about Dependency Injection or DI and how does that work in the ASP.NET Core MVC.
Learn about the Dependency Injection
See how to program in a loosely coupled manner
Learn how to register a service with the DI Container
The aim of this video is to learn how to use IApplicationBuilder in the configure method in the startup class.
Use App.Map
Use App.MapWhen
Use App.Use and App.Run
The aim of this video is to learn about Trap exceptions with IHostingEnvironment interface.
Learn how to find what environment the app is running on
Know about the different environments available
See Exception trapping in action
With this video, get to understand how to deliver the static files.
Know where do they reside
Learn what middleware to add
Demonstrate with an example
How can we use the off the shelf logging provided by the ASP.NET Core Framework.
Add the correct middleware for logging
Add logging and monitor the application
Explore the different log levels
The aim of this video is to learn about Routing and how does it make MVC happen.
Review old School Routing
Learn about ASP.NET Core Conventional Routing
Learn about ASP.NET Core Attribute Routing
With this video, learn about Conventional Routing and how to work with it.
Learn briefly about the MVC Pattern – your first introduction
Take a look at how to use UseMvcWithDefaultRoute middleware
Get to know how to use UseMvc middleware
The aim of this video is to learn about attribute routing, the other way of creating routing, and custom mapping.
Use single and multiple Route Attribute to route the request with the name specified
Use generic Attributes with the words controller and action for auto routing
Use custom mapping with Attribute Routing
See how to add your own complex custom routing for your app with this video.
Learn the use of the middleware UseMVC
Add multiple mapping using Route.MapRoute
Restrict access to a controller only to a certain custom url
With this video, get to learn about ASP.NET Core MVC and Architectural Design pattern.
Review ASP.NET Core MVC
Learn about Architectural Design pattern
Learn about the ASP.NET Core Controller – Model – View (MVC) workflow
The aim of this video is to take an in-depth look about Controller.
Learn the 3 ways to make a class controller
Learn the essentials of or must haves in the action methods
Learn about the use of attributes for specifying action methods for serving the GET or the POST verb
The aim of this video is to learn how to make any class a controller with a Demo Project.
Make a class a controller using the 3 methods
Explore how to make a methods an action methods using the ActionResult
Learn the usage of the HttpGet or HttpPost attribute for responding to GET or POST request
In this video learn about views briefly and add some dummy views to the Demo Project.
Explore views briefly, the 3rd pillar of MVC
Setup our demo projects by adding the middlewares
Add some dummy views and serve them from the controller action methods
he aim of this video is to be formally be introduced to Models.
Introduction to Models
Reasons for using Models
Learn about the convention in folder structure and file naming for Models
The aim of this video is to see Model creation in action.
Take a look at how the conventions in folder structure and file naming conventions are used for Models
Create Some Model classes and add the properties
See using a view how models are used and get passed for UI presentation
This video will take you to create a Mock data repository.
Create the repository interface
Create Mock Classes
Populate the repositories with data
The aim of this video is to get to know about ViewModel.
Learn the reasons why ViewModels are needed
Learn where to use them
Learn the naming conventions and folder structure
The aim of this video is to learn about Model Validation.
Learn about Model bindings
Learn about Model Validations
Learn about validation attributes
With this video learn ViewModel and see it in action.
Create carousel Model Class
Create Carousel Mock Repository
Create ViewModel class for Home controller’s index action method
This video is a prelude to Validation.
Create AddBook View page with scaffolding, and customize the code
Add _Viewimport to have tag helper support. Reach the correct method using the Get and Post verb
Examine HttpPost decorated action method to see why validation is needed
The aim of this video is to do the Validation.
Add Validation attributes and error messages to Model properties
Check if the server side validation works
Check the ModelState to see if it is valid
The aim of this video is to set up Dependency Injection for the Mock Repository.
See how we have broken the SOLID principle
Use Dependency Injection in the constructor
Add the correct service registration code for the DI to happen
This video will formally introduce you to views.
Learn about the convention in folder structure and file naming for Views
Know more about the _ViewImport and _ViewStart
Get familiarized with partial view
The aim of this video is to see view creation in action.
Take a look at how the conventions in folder structure and file naming conventions are used
Explore in demo all about the _ViewImport and _ViewStart
See partial view creation and usage
The aim of this video is to get familiar with Razor syntaxes.
Learn and see what is the @ syntax and how to use it
Learn to use C# like code in razor
Learn about and see @model in action
The aim of this video is to get to know razor syntax even more deeply.
Learn about for loop
Learn to use switch-case
Explore the use of 4 different C# loops in Razor
With this video, put in practice what you have learnt so far and make a carousel.
Import the initial carousel code
Import code for the books list, details and order
Create ViewModel, add code to controller and complete the process by displaying booklist, details and order page
This video will teach you to create the order page and get more practice in creating the Model, View, and the Controller.
Create Order page with scaffolding, and customize the code
Check correct data validation
Create thank you page to finish the project
With this video get to know the Entity Framework Core.
What is an ORM?
Explore life before Entity Framework Core – the Entity Framework Classic
Be introduced to Entity Framework Core
The aim of this video is to learn about the new developer friendly SqlServerLocalDb.
Verify that SqlServerLocalDb is installed
See how to use Developer Command prompt for EF
See how to use the GUI Tools for SQLServerLocalDb
The aim of this video is to install Entity Framework Core in your Project.
Install the Nuget Packages
Use .csproj file to install the dottools package needed for EF Migration
Verify that you have the right tools for EF Core
With this video, create your DbContext and Repository classes.
Create your DBContext Class
Use DI in DbContext using the constructor injection pattern
Create the Repository Classes for SQlServerLocalDb
The aim of this video is to configure EF Core to work with the project.
Add appsettings.json file with the default connection string
Register services in Startup.cs file
Have the connection string by having the configuration injected
The aim of this video is to migrate and update the database and run the project from populated SqlServerLocalDb tables.
Use Developer CMD prompt to do migration, create the database using the update option
Populate the tables and run the website to verify that it is working
Add customer’s orders to the db and create an ordersList page to see all the orders
This video will give you an overview about the course.
The aim of this video is to get introduced to web API.
Learn what web API is
Explore RESTful APIs
A brief history of web API
The aim of this video is to set up the project in Visual Studio and create the database from the script provided.
Set up the project by updating the references to the new .NET Core SDK
Install the .NET Core 2.1 SDK
Install the database
Get introduced to writing web API in ASP.NET Core MVC.
Get introduced to HTTP verbs
Become familiar with the API controller classes and methods
Get to know the most used HTTP verbs, especially GET/POST/PUT/DELETE
In this video, implement the GET and POST methods in the web API.
Create web API controller
Implement GET and POST methods
Install Postman
In this video, implement the PUT and DELETE methods in the web API.
Implement PUT and DELETE
Deal with the common mistakes in web APIs
Complete the web API
In this video, learn Swagger installation and usage to aid web API development.
Install Swagger
Use Swagger with web API
Use XML documentation for generating helpful messages in Swagger
New features are added to the ASP.NET Core MVC to help make web API development easy.
Learn about the new attributes in web API
Learn about the new generic return type
Get introduced to the HTTP return types in action
Hands-on with the new features added to the ASP.NET Core MVC.
See the new attributes used in code
See the new generic return type and its usage
See the HTTP return types in action
Dive into the world of HTML tag helpers.
Learn about HTML helpers and control helpers
Learn about form helpers and strongly typed helpers
Learn about validation message helpers
With this video, we build a simple form with only three elements.
Take a look at demo of some HTML helpers
Perform a demo of form helpers
Learn to post back to the server
Look at the remaining HTML helpers and complete registration form and try to validate data posted on the server.
Demonstrate validation message and validation summary
Demonstrate strongly typed helpers
Demonstrate anchor helpers
The aim of this video is to get introduced to the very powerful and natural looking ASP tag helpers.
Learn about tag helpers for controls
Learn about tag helper for form
Learn about tag helper for validation
In this video, we’ll recreate the registration form but this time using the ASP tag helpers.
Take a look at the demo of tag helpers for controls
Explore more about demo of tag helper for form
Demonstrate tag helper for validation
Learn to use the dropdown list with model binding and the anchor tag.
Take a look at the select tag in action
Learn how to do model binding
Watch anchor tag and routing value being used
In this video, learn how to do remote validation using ASP.NET Core without explicitly writing any Ajax code.
Learn about remote validation
Set up the model class
Write the action method
This video will introduce a new feature of ASP.NET Core called the view components.
Learn about view component
Create a class and a Razor view
Call the view from Razor component
Do dependency injection from a Razor view directly.
Set up the DI in the Startup.cs
Create necessary POCO class
Inject data from view
This video introduces Razor pages as the new way of developing apps parallel to the MVC.
Learn the folder convention
Create a Razor page
Study the code behind model class and the OnGet method
The aim of this video is to learn more about the code behind file.
Learn about the code behind file
Learn about dependency injection in pages
Obtain books list and get ready for Razor code
Utilize previously learnt knowledge and use HTML helpers to make a table to display the books information.
Use HTML helpers
Create a table for the book information
Work with the model class
The aim of this video is to learn how we can create a page using the very powerful built-in scaffolding in visual studio.
Create an edit page using scaffolding
Learn the OnGetAsync and OnPostAsync methods
Explore the model validation
The aim of this video is to learn to use layout in pages.
Work with the layout
See _layout and _ViewStart
Learn about @addTagHelper directive
Learn the simple way to define the routing variables in the app from Razor pages.
Define routing
Learn where to obtain the routing value
Test routing
In this video learn about the anchor tags and the way to work with them from the Razor pages.
Define anchor tags
Assign anchor source
Test anchor tag
Learn how to use _ViewImports and _ViewStart from Razor pages with this video.
Learn the need for a better way for layout and namespace management
See the _ViewImport in Razor pages
See the _ViewStart in Razor pages
The aim of this video is to introduce ASP.NET Core Identity.
Learn about authentication versus authorization
Explore many ways to implement security
Explore the steps involved in implementing the identity
In this video, we’ll Install an admin theme for backend.
Download and install admin theme
Make new admin layout and partial pages
Add admin controller and an index method and view
With this video learn to add identity to the application for registration, login, logout, authentication and authorization.
Add SiteUser class for identity
Add identity middleware
Add migration and update database
The aim of this video is to learn to create user registration mechanism.
Create registration view and action method
Create registration view model
Register a user
The aim of this video is to learn to create the views and action methods for logging in a user and add restriction to action methods from unauthenticated users.
Create login view and action method
Create login view model
Add authorize attribute for page restriction
In this video, we formally look at the SignInManager and UserManager and also log out users.
A quick overview of SignInManager and UserManager
Create Logout action method to log users out
Modify the layout and header view for login and logout link
The aim of this video is to get introducing authorization and the difference between authentication and authorization.
Explore what is authorization
What is the RoleManager
Learn the list of useful methods in the role managers and usage
This video will teach how to limit users to access a link from views based on authorization.
Learn about the role based authorization from the header partial view
Study the modifications in admin layout page
Learn about the modification in the admin sidebar partial view
The aim of this video is to create a controller and a view for adding roles.
Add roles model view and RolesController
Add index and create action methods and views
Add dependency injection and the user and admin roles
The aim of this video is to create a view and add code to an action method for editing an existing role.
Create edit view
Add code to the edit action method
Edit an existing role
The aim of this video is to create the view and add code to action method for deleting a role.
Create the delete view
Create the delete action method and add code
Try out the code and delete an existing method
The aim of this video is to learn more about authorization based of different roles assigned to a user.
Learn the usage of authorize attribute with role
Add a user role by default at registration
Enable SSL for the app
Learn to allow users to change/view profile information.
Create a profile view
Add an action method
Modify the header of the layout page to add profile link
Know how to allow the users to change their passwords with this video.
Add the view and the HttpGet and HttpPost action method
Modify the header partial view
View password strength options and enable user lockout options
In this video add a way to list all registered users in the system.
Add index view
Update index method
Register a new user
The aim of this video is to learn to add user details page to see user’s names and email addresses and phone numbers with the ability to assign and remove roles.
Add the view for the details
Add a section for role assigning in the view
Add the action methods
With this video, learn to delete a user from the app.
Add link to details page in the index page
Add the action methods for deleting a user
Add authorize attribute for the role controller
With this video, learn to display user’s orders.
Add foreign keys to order class, add migration and update database
Add order controller, action methods
Add index and details views
In this video, learn to allow books to be added and a list of all the books to be viewed.
Review the books controller
Review index, details, edit ,and delete views
Review index, details, edit, and delete action methods
The aim of this video is to get to know the weaknesses of Cookies and the strength of token-based security.
Get to know the weaknesses of Cookies
Find out the different options available for securing APIs
Know why token based security is a better option
This video is an introduction to token-based authentication.
What is token based authentication?
Learn more about JSON Web Token
Explore how a token looks like
The aim of this video is to learn to configure JWT in ASP.NET Core Application.
Learn how to add JwtBearer
Learn how to obtain a key
Learn about Valid Issuer and Valid Audience
The aim of this video is to learn the theory about implementing the method that will return the authentication token.
Explore how to obtain a token
Learn how to use SigningCredentials
Construct a claim and use Authorize attribute
The aim of this video is to implement the method in code that will return the authentication token.
Code to obtain a token
Use SigningCredentials
Construct a claim and use Authorize attribute
The aim of this video is to get introduced to xUnit to test the app.
Create a test project and annotate the test methods
Learn about fact, theory and InlineData
Learn about VS Test Explorer and test code there
The aim of this video is to learn to use the Moq framework.
Download the Moq Framework
Create a class for testing and a test class.
Setup Moq and test
The aim of this video is to write a test class for testing the home controller.
Create a test class for testing the home controller
Test for correct View and View name
Test for correct model class and value
The aim of this video is to install Docker in windows and create a container from a SQL Server pre-installed image.
Install Docker in Windows
Download the SQL Server container image and create a container
Access SQL Server from SSMS and deploy .dacpac to the server
The aim of this video is to learn to deploy our application in IIS.
Create the site in IIS with no managed code app pool
Deploy the code in Inetpub folder
Test the site
The aim of this video is to install Docker in Linux and create a container from a SQL Server pre-installed image.
Install Docker on Ubuntu 18 from the command line
Download SQL Server Docker Image and create a container
Deploy database to SQL Server Container in Linux from the .dacpac
The aim of this video is to deploy our application in Linux.
Install .NET 2.1 runtime and SDK
Install and configure Apache and install self-signed SSL
Run ASP.NET Core application from Apache
The aim of this video is to find out how to create a website and SQL Server database and deploy our site in the Azure platform.
Create a database in Azure
Make the changes in the app for deployment
Deploy in Azure App Service from VS 2017
The aim of this video is to find out how to create a website in Elastic Beanstalk with SQL Server database and deploy our site in the Amazon AWS.
Install AWS Toolkit for Visual Studio and access account from VS 2017
Create an app in Elastic Beanstalk
Deploy the site in the created app in Elastic Beanstalk from VS 2017
ASP.NET Core MVC is a rich framework for building web apps and APIs using the Model-View-Controller design pattern.
With this hands-on course, you'll first start with the concept of the MVC pattern which teaches you about models, views, and controllers in detail. Then you will learn the fundamentals of the Entity framework and how to use it in ASP.NET Core web applications. Moving forward, you will learn how to secure your web application & then deploy it across different platforms including IIS, Linux, Docker, Azure, and AWS.
By the end of this course, you will have a solid understanding of the ASP.NET Core MVC framework which enables you to create powerful applications.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Getting Started with ASP.NET Core MVC you’ll learn how to do the basic setup for the project, and then we’ll take a dive into the concept of the MVC pattern. You’ll learn about models, views, and controllers in detail. You will see the new concept of middleware and it will be demystified. Dependency Injection (DI) is now native to ASP.NET Core MVC and comes already wired up. You will learn to use DI with ease. Routing is central to ASP.NET Core MVC and there is a dedicated section for learning all that you need to know so that you can create effective routing for your site. We’ll discuss the Razor syntax for UI programming and work with the Entity Framework core and create a Database in the SQLLocalDb which is the new developer-friendly Database server around in the block. Just relax and watch this video as this course will take you inside the world of ASP.NET Core MVC and learn effortlessly all the critical and complex concepts without breaking any sweat. ASP.NET core MVC is made fun and easy here. Tackle any projects armed with the knowledge gained from this course with confidence.
The second course, Build a Real-World App with ASP.NET Core MVC will help you build applications which can be deployed on non-Windows platforms such as Linux. In today’s age, it is crucial that you possess the ability to separate programming and business logic, and this is exactly what ASP.NET Core MVC application will help you achieve. You will also learn the fundamentals of the Entity framework and how to use it in ASP.NET Core web applications. You will learn how to secure your web application and your Web API. No web application is complete unless we have a platform to deploy it to. Here we will deploy our application on many different platforms including IIS, Linux, Docker, Azure, and AWS. By the end of this course, you will have a solid understanding of the ASP.NET Core MVC framework and you will be ready to take on your next masterpiece with full confidence.
About the Authors:
Ronnie.M.Rahman has been a .NET developer, solution architect, and trainer for the last 10 years and has worked with many small to large projects based on Microsoft development technologies. His experience ranges from working with Robots, IOTs, 8-bit Microprocessors to ASP.NET Web forms, MVC, MVC Core, Xamarin, PHP, Windows Form, and WPF. Ronnie studied in Australia and UK and holds a degree in Computer Science in AI. He currently lives in Morocco with his family, by the Mediterranean Sea.