ASP.NET Core Development
Audience
This course is aimed at experienced application developers or architects responsible for Web applications in a Microsoft environment.
Prerequisites
- 6 months experience of C# programming
- ASP.NET development experience is advantageous but not essential
Duration
5 days. Hands-on.
Course Objectives
This course covers ASP.NET Core 3.0 and Visual Studio 2019, making use of various new features in C#8. We take a detailed look at the latest APIs and development techniques for creating dynamic, modular, and testable web sites. We'll explore the new features available in ASP.NET Core and show how to get the best out of the latest toolset and integration possibilities.
What you'll learn:
- ASP.NET Core principles
- MVC architecture and benefits
- Creating views, view components, and tag helpers
- Using ASP.NET dependency injection and configuration
- Test-driven development
- Navigation and state management
- Creating RESTful services using Web API
- Creating Single Page Applications (SPAs)
- ASP.NET Identity security
Course Content
Introduction to ASP.NET Core
- Introduction to .NET Core
- ASP.NET Core essentials
- Creating a simple ASP.NET Core web app
- Using the generic host builder in ASP.NET Core 3
- A closer look at ASP.NET Core middleware
- Creating custom OWIN middleware components
Getting Started with MVC
- Introduction to ASP.NET Core MVC
- Understanding controllers
- Understanding views
- Layout pages
- A closer look at Razor syntax
- Razor pages
Creating a Complete ASP.NET MVC Application
- Design considerations
- Defining models and views
- Handling form submissions
- Additional techniques
- Asynchronous action methods
Tag Helpers
- Introduction to tag helpers
- UI tag helpers
- Link and script tag helpers
- Environment tag helper
- Cache tag helper
Structuring ASP.NET Core MVC Applications
- Design considerations
- Defining the domain model
- Defining the Web application
Dependency Injection, Configuration, and Entity Framework
- Dependency injection principles
- DI in ASP.NET Core
- Configuration in ASP.NET Core
- Using Entity Framework Core 3.0
Test Driven Development with ASP Core MVC
- TDD principles
- Unit testing frameworks for .NET Core
- XUnit.net walkthrough
- Unit testing ASP.NET MVC controllers
- Mocking
Defining Custom Tag Helpers
- Custom tag helpers
- Tag attributes
- Additional techniques
- Worked example
Implementing Navigation
- Defining view-model classes
- Implementing data filtering in a controller
- Understanding the routing mechanism
- Adding custom entries to a route table
- Defining defaults, parameters, and validation
- Generating URLs and hyperlinks
- Custom route constraints
State Management
- Using hidden fields
- Session and application state
- Custom model bindings
- Distributed caching
Creating RESTful Services using Web API
- Overview of Web API
- Building servers and clients
- Content negotiation
- Attribute routing
- Custom model binding
- Invoking RESTful services from Ajax clients
Creating Single Page Applications
- Overview of SPAs
- Using GruntJS, NPM, and Bower support
- Creating SPAs using Angular 4 and Knockout
Security using ASP.NET Identity
- Security concepts
- Overview of ASP.NET Identity
- Customization possibilities using ASP.NET Identity