20486: Developing ASP.NET Core MVC Web Applications

20486: Developing ASP.NET Core MVC Web Applications

Audience

This course is intended for professional web developers who use Microsoft Visual Studio in an individual-based or team-based, small-sized to large development environment. Candidates for this course are interested in developing advanced web applications and want to manage the rendered HTML comprehensively. They want to create websites that separate the user interface, data access, and application logic.

Prerequisites

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 HTML, CSS and JavaScript.
  • Experience with querying and manipulating data with ADO.NET.
  • Knowledge of XML and JSON data structures.

Duration

5 days.

Course Objectives

In this 5-day course, the 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.

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.
  • Write JavaScript code that runs on the client-side and utilizes the jQuery script library to optimize the responsiveness of an 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.

Course Content

Module 1: Exploring ASP.NET Core MVC
Overview of Microsoft Web Technologies
Overview of ASP.NET 4.x
Introduction to ASP.NET Core MVC
Lab : Exploring ASP.NET Core MVC
After completing this course, students will be able to:
• Understand the variety of technologies available in the Microsoft web stack.
• Describe the different programming models available for developers in ASP.NET.
• Choose between ASP.NET Core and ASP.NET 4.x.
• Describe the role of ASP.NET Core MVC in the web technologies stack, and how to use ASP.NET Core MVC to build web applications.
• Distinguish between MVC models, MVC controllers, and MVC views.

Module 2: Designing ASP.NET Core MVC Web Applications
Planning in the Project Design Phase
Designing Models, Controllers and Views
Lab : Designing ASP.NET Core MVC Web Applications
After completing this module, students will be able to:
• Plan the overall architecture of an ASP.NET Core MVC web application and consider aspects such as state management.
• Plan the models, controllers, and views that are required to implement a given set of functional requirements.

Module 3: Configure Middlewares and Services in ASP.NET Core
Configuring Middlewares
Configuring Services
Lab : Configuring Middleware and Services in ASP.NET Core
After completing this module, students will be able to:
• Use existing middleware to set up an ASP.NET Core application.
• Create your own middleware and use it to define custom behavior.
• Understand the basic principles behind Dependency Injection, and how it is used in ASP.NET Core.
• Know how to create a custom service, configure its scope, and inject it to both middleware and ASP.NET Core MVC controllers.

Module 4: Developing Controllers
Writing Controllers and Actions
Configuring Routes
Writing Action Filters
Lab : Developing Controllers
After completing this module, students will be able to:
• Add a controller to a web application that responds to user actions that are specified in the project design.
• Add routes to the ASP.NET Core routing engine and ensure that URLs are user-friendly in an MVC web application.
• Write code in action filters that runs before or after a controller action.

Module 5: Developing Views
Creating Views with Razor Syntax
Using HTML Helpers and Tag Helpers
Reusing Code in Views
Lab : Developing Views
After completing this module, students will be able to:
• Create an MVC view and add Razor markup to it to display data to users.
• Use HTML helpers and tag helpers in a view.
• Reuse Razor markup in multiple locations throughout an application.

Module 6: Developing Models
Creating MVC Models
Working with Forms
Validate MVC Application
Lab : Developing Models
After completing this module, students will be able to:
• Add a model to an MVC application and write code in it to implement the business logic.
• Use display and edit data annotations.
• Validate user input with data annotations.

Module 7: Using Entity Framework Core in ASP.NET Core
Introduction to Entity Framework Core
Working with Entity Framework Core
Use Entity Framework Core to connect to Microsoft SQL Server
Lab : Using Entity Framework Core in ASP.NET Core
After completing this module, students will be able to:
Connect an application to a database to access and store data.
• Explain EF Core.
• Work with Entity Framework Core.
• Use EF Core to connect to a database including Microsoft SQL Server.

Module 8: Using Layouts, CSS and JavaScript in ASP.NET Core MVC
Using Layouts
Using CSS and JavaScript
Using jQuery
Lab : Using Layouts, CSS and JavaScript in ASP.NET Core
After completing this module, students will be able to:
• Apply a consistent layout to ASP.NET Core MVC applications.
• Add JavaScript code to your web application.
• Use the jQuery library in your web application.

Module 9: Client-Side Development
Applying Styles
Using Task Runners
Responsive design
Lab : Client-Side Development
After completing this module, students will be able to:
• Use Bootstrap, Sass and Less in a Microsoft ASP.NET Core application.
• Use task runners in an ASP.NET Core application.
• Ensure that a web application displays correctly on devices with different screen sizes.

Module 10: Testing and Troubleshooting
Testing MVC Applications
Implementing an Exception Handling Strategy
Logging MVC Applications
Lab : Testing and troubleshooting
After completing this course, students will be able to:
• Run unit tests against the Model–View–Controller (MVC) components, such as model classes and controllers, and locate potential bugs.
• Build a Microsoft ASP.NET Core MVC application that handles exceptions smoothly and robustly.
• Run logging providers that benefit your applications and run them by using a common logging API.

Module 11: Managing Security
Authentication in ASP.NET Core
Authorization in ASP.NET Core
Defending from Attacks
Lab : Managing Security
After completing this module, students will be able to:
• Add basic authentication to your application.
• Configure Microsoft ASP.NET Core Identity.
• Add basic authorization to your application.
• Utilize several different authorization approaches.
• Know how security exploits work and how to better defend against them.

Module 12: Performance and Communication
Implementing a Caching Strategy
Managing State
Two-way communication
Lab : Performance and Communication
After completing this module, students will be able to:
• Implement caching in a Microsoft ASP.NET Core application.
• Use state management technologies to improve the client experience, by providing a consistent experience for the user.
• Implement two-way communication by using SignalR, allowing the server to notify the client when important events occur.

Module 13: Implementing Web APIs
Introducing Web APIs
Developing a Web API
Calling a Web API
Lab : Implementing Web APIs
After completing this module, students will be able to:
• Create services by using ASP.NET Core Web API.
• Call a Web API from server-side code and jQuery.

Module 14: Hosting and Deployment
On-premise hosting and deployment
Deployment to Microsoft Azure
Microsoft Azure Fundamentals
Lab : Hosting and Deployment
After completing this module, students will be able to:
• Host and Deploy an ASP.NET Core MVC application on IIS.
• Host and Deploy an ASP.NET Core MVC application on Microsoft Azure.
• Be able to utilize services offered by Microsoft Azure to improve the capabilities of your web applications.

Virtual Courses

ALL of our courses can be delivered virtually. And our Bath public schedule of courses are now available as live virtual sessions, using the popular Zoom Virtual Classroom and remote labs. Delegates can test their access at: www.zoom.us/test

Public Courses

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...