Beginning ASP.NET Core

This course will give your ASP.NET Core development a solid start - in the right direction! It picks out and explains the things you need to know in order to use the framework effectively and develop testable solutions. While the course has a focus on practical skills, it also takes the time to explain important underlying concepts, including how HTTP works, the MVC design pattern, the TDD workflow and dependency  inversion.

In this course we are using ASP.NET Core version 2.2.

    Target audience

    .NET Developers who want to learn how to develop web applications using MVC and TDD.


    Good knowledge of programming in C# and the .NET platform. Also requires some knowledge of HTML and CSS, and perhaps some experience with JavaScript.

    Web fundamentals

    • How the web works: HTTP, servers, clients, statelessness

    Introduction to ASP.NET Core

    • .NET core
    • ASP.NET vs ASP.NET Core
    • A little history: ASP.NET WebForms, other approaches
    • OWIN

    The request pipeline

    • Customizing
    • HttpContext
    • Static content
    • Exceptions

    Introduction to MVC

    • The MVC pattern: models, views and controllers
    • Creating an ASP.NET MVC web application
    • Our first controller and view
    • Adding a basic model
    • Convention over configuration

    Testing Fundamentals

    • What is Test Driven Development?
    • Introduction to xUnit
    • Writing our first controller test
    • Test explorer


    • The relationship between routes and controllers
    • Adding more routes
    • Routes and linking
    • Examining the request lifecycle
    • ActionResult
    • Route constraints

    Dependency Inversion

    • What is DI, and why does it matter?
    • Refactoring towards DI
    • Testing using hand-crafted stub objects
    • The built in DI-container
    • Mocking with NSubstitute

    The Razor View Engine

    • The Razor approach
    • Loops and conditionals
    • Built-in helpers
    • Layouts
    • Tag helpers
    • Partial views
    • View Components

    Introducing Forms

    • Adding a form and posting to a controller
    • FormCollection
    • Parameter binding
    • Model binding
    • Forms and testing

    Linking to a Database

    • Entity Framework Core
    • Database first
    • Code first
    • Testable approaches to data access
    • Repository pattern
    • Scaffolding


    • Client-side vs. server-side validation
    • Validation annotations
    • Custom validation
    • Validation and testing

    Web API

    • Introduction to JSON
    • What is a RESTful service?
    • Writing API controllers
    • Attribute routing
    • Model binding and validation


    • The web is a dangerous place
    • SQL Injection
    • XSS
    • CSRF
    • HTTPS

    Introduction to Razor pages

    • MVC vs Razor pages
    • Routing
    • Model binding
    • Validation

    Related articles

    • Exploring the non-nullable type warnings in C# 8

      C# 8 will bring us many new exciting features

      Read more
    • Course update: .NET Core 3.x and C# 8

      .NET Core 3.0 and C# 8 will be released at the end of September, of course we keep our courses up to date.

      Read more
    • How to install RavenDB on a VM in Azure (step-by-step, part 1)

      This is a guide for you who want to work with document databases. I describe how I got RavenDB to work on a regular Windows Server 16 virtual machine which in turn runs in the Azure cloud. 

      Read more
    • How to install RavenDB on a VM in Azure (step-by-step, part 2)

      A guide in three parts, this is the second part. 

      Read more
    • How to install RavenDB on a VM in Azure (step-by-step, part 3)

      This is a guide in three parts. In this third part, we show how you import a certificate.

      Read more

    Course info

    Course code: T228
    Duration: 3 days
    Price: 25 900 SEK
    Language: English

    Course schedule

    12 Feb 2020Book now
    25 May 2020Book now
    20 Jan 2020Book now
    1 Apr 2020Book now
    22 Jun 2020Book now
    20 Jan 2020Book now
    1 Apr 2020Book now
    22 Jun 2020Book now



    Contact us for details

    +46 40 61 70 720

    All prices excluding VAT