In this 5-day course, professional web developers will learn to develop advanced ASP.NET Core MVC applications using .NET Core tools and technologies.
The focus will be on coding activities that enhance the performance and scalability of the Web site application. This course will also prepare the student for exam 70-486.
At course completion
After completing this course, students will be able to:
- Describe the Microsoft Web Technologies stack and select an appropriate technology to use to develop any given application.
- Design the architecture and implementation of a web application that will meet a set of functional requirements, user interface requirements, and address business models.
- Configure the pipeline of ASP.NET Core web applications using middleware, and leverage dependency injection across MVC application.
- Add Controllers to an MVC Application to manage user interaction, update models, and select and return Views.
- Develop a web application that uses the ASP.NET Core routing engine to present friendly URLs and a logical navigation hierarchy to users.
- Create Views in an MVC application that display and edit data and interact with Models and Controllers.
- Create MVC Models and write code that implements business logic within Model methods, properties, and events.
- Connect an ASP.NET Core application to a database using Entity Framework Core.
- Implement a consistent look and feel across an entire MVC web application.
- Add client side packages and configure Task Runners.
- Run unit tests and debugging tools against a web application in Visual Studio 2017.
- Write an MVC application that authenticates and authorizes users to access content securely using Identity.
- Build an MVC application that resists malicious attacks.
- Use caching to accelerate responses to user requests.
- Use SignalR to enable two-way communication between client and server.
- Describe what a Web API is and why developers might add a Web API to an application.
- Describe how to package and deploy an ASP.NET Core MVC web application from a development computer to a web server.
Exploring ASP.NET Core MVC
This module gives you an overview of Microsoft web Technologies and ASP .NET Core MVC.
- Overview of Microsoft Web Technologies
- Overview of ASP.NET 4.x
- Introduction to ASP.NET Core MVC
Designing ASP.NET Core MVC Web Applications
This module introduces students to the typical design process that architects must complete when they plan an MVC application. This includes details such as the overall architecture, Controllers, Views and Models.
- Planning in the Project Design Phase
- Designing Models, Controllers and Views
Configure Middlewares and Services in ASP.NET Core
In this module, you will learn how to leverage the ASP.NET Core framework to handle requests and responses via existing, and custom middleware, and how to configure services for use in middleware and throughout other parts of the application, such as controllers.
- Configuring Middlewares
- Configuring Services
ASP.NET Core MVC uses the Model-View-Controller (MVC) architectural pattern. In this module, you will learn how to develop controllers. The controller is essentially responsible for processing a web request by interacting with the model and then passing the results to the view. The model represents the business layer, sometimes referred to as the domain, and may include data objects, application logic, and business rules. The view uses the data that it receives from the controller to produce the HTML or other output that is sent back to the browser.
- Writing Controllers and Actions
- Configuring Routes
- Writing Action Filters
Views are one of the three major components of the Model-View-Controller (MVC) programming model. You can define the user interface for your web application by creating views. A view is a combination of HTML markup and C# code that runs on a web server. Therefore, to create a view, you need to know how to write the HTML markup and C# code and use the various helper classes that are built into MVC.
- Creating Views with Razor Syntax
- Using HTML Helpers and Tag Helpers
- Reusing Code in Views
In this module, you will learn how to create the code for models. When you write a Model-View-Controller (MVC) web application, you create an MVC model to model the data for your web application. Within this model, you create a model class for each type of object. The model class describes the properties of each type of object and can include business logic that matches business processes. Therefore, the model is a fundamental building-block in an MVC application.
- Creating MVC Models
- Working with Forms
- Validate MVC Application
Using Entity Framework Core in ASP.NET Core
In this module, you will see how to build a database-driven website in MVC. When you write an ASP.NET application you can use the Entity Framework Core (EF Core) and Language Integrated Query (LINQ) technologies, which make data access code very quick to write and simple to understand.
- Introduction to Entity Framework Core
- Working with Entity Framework Core
- Use Entity Framework Core to connect to Microsoft SQL Server
- Using Layouts
- Using jQuery
- Applying Styles
- Using Task Runners
- Responsive design
Testing and Troubleshooting
Traditionally, testers perform most of the testing at the end of a development project. However, it has recently become widely accepted that testing throughout the project life cycle improves quality and ensures that there are no bugs in production software.
- Testing MVC Applications
- Implementing an Exception Handling Strategy
- Logging MVC Applications
This module covers Authentication, Authorization and solutions to some of the most popular attacks.
- Authentication in ASP.NET Core
- Authorization in ASP.NET Core
- Defending from Attacks
Performance and Communication
This module covers performance using caching, state management and the SignalR Framework.
- Implementing a Caching Strategy
- Managing State
- Two-way communication
Implementing Web APIs
Most web applications require integration with external systems such as mobile applications. You need to know how to use Web APIs to promote application interaction with external systems. You can use the Web API to implement Representational State Transfer (REST) services in your application. REST services help reduce application overhead and limit the data that is transmitted between client and server systems. You need to know how to call a Web API by using server-side code and jQuery code to effectively implement REST-style Web APIs in your application.
- Introducing Web APIs
- Developing a Web API
- Calling a Web API
Hosting and Deployment
There are many different technologies which can be used to host your application and you should choose one that is appropriate for your requirements. Deployment is the process where the project code is compiled and then transferred to the hosting server in a way that functions within the requirements of the hosting environment.
- On-premise hosting and deployment
- Deployment to Microsoft Azure
- Microsoft Azure Fundamentals
Before attending this course, students must have:
- Experience with Visual Studio 2017.
- Experience with C# programming, and concepts such as Lambda expressions, LINQ, and anonymous types.
- Experience in using the .NET Framework.
- Experience with querying and manipulating data with ADO.NET.
- Knowledge of XML and JSON data structures.