ASP.NET Core Fundamentals

Build modern, cloud-ready web applications with ASP.NET Core.

Introduction to ASP.NET Core

ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-enabled, Internet-connected applications.

What is ASP.NET Core?

Learn about the core principles and benefits of using ASP.NET Core for web development. Understand its evolution from previous ASP.NET versions.

Module Completed

Setting Up Your Development Environment

Install the necessary tools, including .NET SDK and your preferred IDE (Visual Studio, VS Code), to start building ASP.NET Core applications.

Module In Progress

Your First ASP.NET Core Application

Create a simple "Hello, World!" application to get hands-on experience with the basic project structure and execution flow.

Not Started

Architecture and Concepts

Core Components

Understand the key components that make up an ASP.NET Core application, such as the Kestrel web server, Host, and Application Builder.

Key concepts include:

  • Host: Manages the application's lifecycle and configuration.
  • Startup Class: Configures services and the request pipeline.
  • Middleware: Components that process HTTP requests and responses.

Middleware Pipeline

Explore how the middleware pipeline handles incoming requests and outgoing responses. Learn to add, remove, and reorder middleware to customize application behavior.

Common middleware includes:

  • Static Files Middleware
  • Routing Middleware
  • Authentication Middleware
  • Authorization Middleware
  • Error Handling Middleware

Example of configuring middleware in Startup.cs:


public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseRouting();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapGet("/", async context =>
        {
            await context.Response.WriteAsync("Hello from ASP.NET Core!");
        });
    });
}
                    

Routing

Understand how ASP.NET Core matches incoming requests to the appropriate code for execution. Learn about attribute routing and convention-based routing.

Attribute Routing

Define routes directly on controller actions or Razor Page models.


[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    [HttpGet("{id}")]
    public IActionResult GetProduct(int id)
    {
        // ... logic to retrieve product
        return Ok();
    }
}
                    

Dependency Injection (DI)

Discover the built-in DI container in ASP.NET Core. Learn how to register services and consume them in your application components.

DI promotes loose coupling and testability.


// In Startup.cs
services.AddScoped<IMyService, MyService>();

// In a controller or Razor Page
public class MyController : Controller
{
    private readonly IMyService _myService;

    public MyController(IMyService myService)
    {
        _myService = myService;
    }

    // ...
}
                    

Configuration

Learn how ASP.NET Core uses configuration providers (e.g., JSON files, environment variables, command-line arguments) to manage application settings.

Access configuration values via the IConfiguration interface.

Razor Pages

A page-focused programming model for building web UI with ASP.NET Core. It simplifies building page-model-based applications.

Introduction to Razor Pages

Understand the structure of a Razor Page (.cshtml and .cshtml.cs files) and how they work together.

Module Completed

Model-View-Controller (MVC)

A well-established pattern for building dynamic websites. ASP.NET Core MVC provides a powerful framework for implementing this pattern.

Building MVC Applications

Learn to create controllers, views, and models, and understand how they interact to handle requests and render responses.

Module In Progress

Web APIs

Build powerful HTTP services that can be consumed by a wide range of clients. ASP.NET Core makes it easy to create RESTful APIs.

Creating RESTful APIs

Learn to define API endpoints, handle HTTP verbs (GET, POST, PUT, DELETE), and return data in various formats (JSON, XML).

Not Started

Data Access

Explore common strategies for accessing data in ASP.NET Core applications, including Entity Framework Core and other ORMs.

Working with Entity Framework Core

Learn to set up Entity Framework Core, define data models, perform CRUD operations, and manage database migrations.

Not Started

Authentication & Authorization

Implement security measures to authenticate users and authorize access to application resources.

Identity and Access Management

Understand ASP.NET Core Identity for managing users, passwords, roles, and claims.

Not Started

Deployment

Learn the best practices for deploying your ASP.NET Core applications to various environments, including IIS, Docker, and cloud platforms.

Deploying to Production

Configure your application for production, understand build pipelines, and deploy to popular hosting services.

Not Started