This course provides a practical hands-on introduction to developing Web applications using ASP.NET Core MVC 6 and C#. This Web development framework from Microsoft emphasizes separation of concerns in the architecture and testability of applications. This course covers development on Microsoft’s new .NET Core platform. The course is current to .NET Core 2.0, which is a major update of the original .NET Core 1.0. Working with .NET Core is now simpler, as project information is consolidated in project files without the need for source JSON files. Also, the .NET Core 2.0 API has been extended and is a much larger subset of classical .NET than in .NET Core 1.0.
A major restructuring of the .NET platform, .NET Core is cross-platform, open source, and modular designed for creating modern web applications and services, libraries and console applications. It is available on Windows, Mac and Linux. .NET now is a family of frameworks, including both the classical .NET available on Windows and the new .NET Core package-based frameworks that are cross-platform.
This course covers the fundamentals of the Model-View-Controller design pattern and its implementation in ASP.NET Core MVC. This technology is compared with classical ASP.NET Web Forms. Visual Studio 2017 with ASP.NET Core 2.0 is used as a productive platform for creating MVC Web applications. After presenting the fundamentals of the technology with several examples, the main components of Model, Controller and View are covered in detail. The discussion of the Model incorporates Microsoft technologies for persisting data, including XML Serialization and ADO.NET with SQL Server 2016. The routing mechanism of ASP.NET MVC is covered. The course includes an introduction to ASP.NET Web API.
Numerous programming examples and exercises are provided. The student will receive a comprehensive set of notes and all the programming examples.
.NET Training Learning Objectives
- Gain a thorough understanding of the philosophy and architecture of Web applications using ASP.NET Core MVC
- Gain a practical understanding of.NET Core
- Acquire a working knowledge of Web application development using ASP.NET Core MVC 6 and Visual Studio 2017
- Persist data with XML Serialization and ADO.NET with SQL Server 2016
- Create HTTP services using ASP.NET Core Web API
- Deploy ASP.NET Core MVC applications to the Windows Azure cloud
The student should have a good working knowledge of C# and the .NET Framework. Basic knowledge of HTML and some prior exposure to .NET Core would also be helpful.
.NET Training Course duration
2 days
.NET Training Course outline
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
- Advantages and Disadvantages of 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
3. ASP.NET MVC Architecture
- The Controller in ASP.NET MVC
- The View in ASP.NET MVC
- The Model in ASP.NET MVC
- Helper Methods for HTML
- Form Submission
- Model Binding
- Input Validation
4. The Model
- More Complex Models in MVC Programs
- Microsoft Technologies for Model Persistence
- Using XML Serialization
- NuGet Package Manager
- Using ADO.NET
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
7. Routing
- Routing in ASP.NET Core MVC
- Properties of Routes
- Parameters in Routing
- Registering Routes
- Attribute Routing
8. ASP.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
9. ASP.NET Core and Azure
- What Is Windows Azure?
- A Windows Azure Testbed
- Deploying an Application to Azure
- Updating an Application on Azure
Appendix A. Learning Resources
System Requirements
Required software is .NET 4.6 and Visual Studio 2017, which includes .NET Core 2.0. The free Visual Studio Community 2017 may be used. Visual Studio 2017 includes LocalDB, a lightweight version of SQL Server 2016 Express, which is used for one example in the course. The operating system should be Windows 7sp1 or more recent. The free Postman tool is used. It can be downloaded from the Web. See the course Setup Guide for details.
A good minimal hardware profile for this course would have a 2 GHz or equivalent CPU, 4 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.