.NET Fundamentals
- What is Microsoft .NET?
- Common Language Runtime
- Framework Class Library
- Language Interoperability
- Managed Code
- .NET Core and Cross-Platform Development
|
Class Libraries
- Components in .NET
- Comparing Components in COM and .NET
- Creating Class Libraries
- Using Components in Client Programs by Obtaining References to Class Libraries
- Using References
|
Packages and Frameworks
- Overview of NuGet Packages and the NuGet Gallery
- Explaining the Role of Packages, Metapackages and Frameworks in .NET
- How Packages and Metapackages are Used in .NET Core
- Using the Visual Studio Package Manager to Manage Packages in Solutions
- Installing Packages from the NuGet Gallery
- Creating and Using Your Own NuGet Packages
- Porting from .NET 4.6 to .NET Core
|
I/O and Serialization
- Using .NET Framework Classes for Working with Directories and Files
- Explaining and Using Streams for Performing File I/O
- Explaining the Role of Serialization in Persisting and Transporting Objects
- Serialization Mechanisms Available in .NET Core Contrasted with Classical .NET
- Using XML Serialization in .NET Core Programs
|
Delegates and Events
- Using Delegate Objects to Implement Callbacks
- Using the Random Class to Generate Random Test Data
- Using Aggregations of Delegate Objects
- Using Delegate Objects to Implement and Handle Event Notifications
|
.NET Programming Model
- Garbage Collection in .NET
- Implementing the Finalize/Dispose Pattern
- Using the Process and Thread Model for .NET Applications
- Process and Thread Isolation
- Using the Process Class to Manage Processes in .NET Core Applications
- Working with Command-Line Arguments
|
.NET Threading
- Using the Thread Class to Implement Multithreading in .NET Applications
- Using the Monitor Class to Program Safe Concurrent Access to Shared Data
- Using the ThreadPool Class to Obtain Threads from a Pool that is Managed by the System
- Difference Between Foreground and Background Threads
- Overview of Different Classes that Can be Used for Synchronizing Threads
- Using the Task Parallel Library to Implement Task Parallelism and Data Parallelism in .NET Applications
|
Overview of ASP.NET MVC
- Advantages and Disadvantages of ASP.NET Web Forms
- Understanding the Model-View-Controller (MVC) Pattern
- Outlining the Parts of an ASP.NET MVC Application
- Advantages and Disadvantages of ASP.NET MVC
- Overview of ASP.NET Core
- Understanding the Use of Unit Testing in Creating ASP.NET MVC Applications
|
Introduction to ASP.NET Core MVC
- Understanding How ASP.NET Core MVC is Used Within Visual Studio
- Creating Several Versions of a Simple ASP.NET Core MVC Application
- Understanding How Views are Rendered
- Using the Razor View Engine in ASP.NET Core MVC
- Understanding How Dynamic Output Works
- Passing Input Data to an MVC Application in a Query String
- Rendering Views
|
ASP.NET MVC Architecture
- Understanding the Controller in ASP.NET MVC and its Role
- Understanding the View in ASP.NET MVC and its Role
- Understanding the Model in ASP.NET MVC and its Role
- Use of Helper Methods for HTML in ASP.NET MVC
- How Form Submission, Model Binding and Input Validation Work in ASP.NET MVC
|
The Model
- Working with More Complex Models in MVC Programs
- Overview of Various Microsoft Technologies Available to Use and Persist the Model
- ADO.NET
- LINQ
- ADO.NET Entity Framework and LINQ to Entities
- XML
- Using XML Serialization Technique to Persist a Complex Model
- Using the NuGet Package Manager and Use it to Install a New Package
- Persisting a Model Using ADO.NET
|
The Controller
- Facilities Provided by the Controller Base Class
- Action Methods
- Action Results
- Filters
- Overview of How Controllers Can Receive Input
- Principal Types of Output from a Controller
- Using Attributes to Control How Actions are Invoked
- How Asynchronous Controllers Work and How they Can be Used
|
The View
- Responsibility of the View
- Using ViewBag as a Dynamic Type for Passing Data from a Controller to a View
- How Dynamic Objects Can be Used in ASP.NET Core MVC
- Using HTML Helpers
- String Helpers
- Link-Building Helpers
- Form Helpers
- Validation and Templated Helpers
- Using Validation Attributes in the Model
|
Routing
- Overview of the Use of Routing in ASP.NET Core MVC
- Understanding the Properties of Routes in ASP.NET Core MVC
- Understanding the Use of Parameters in Routing
- Understanding How to Register Routes and the Importance of Order
- Using Attribute Routing to Map Actions Directly to Route Templates by Means of Attributes
|
ASP.NET Core Web API
- Overview of the ASP.NET Web API
- Overview of RESTful Web Services
- Implementing HTTP Services Using the Web API with ASP.NET Core MVC
- Using Postman to Exercise HTTP Requests while Developing a Web API Service
- Implementing Web API clients
|
ASP.NET Core and Azure
- What Is Windows Azure?
- A Windows Azure Testbed
- Deploying an Application to Azure
- Updating an Application on Azure
|