/practical-aspnetcore

Practical samples of ASP.NET Core 8.0, 7.0, 6.0, 5.0, 3.1, 2.2, and 2.1,projects you can use. Readme contains explanations on all projects.

Primary LanguageC#MIT LicenseMIT

Samples for ASP.NET Core 8.0

Note

This repository is WIP. I am updating all the previous samples from .NET 6/7 to .NET 8. Check the previous stable branch (6.0) if you want to browse the existing stable samples that contains also .NET 7/8 samples.

Greetings from Cairo, Egypt. You can sponsor this project here.

Previous versions

6.0, 5.0, 3.1 LTS, 2.1 LTS

Sections

Section
Authentication 5
Blazor Client Side (Web Assembly) 22 .NET8 (WIP), Components, Data Binding
Blazor Server 16 Localization
Blazor Server Side Render 22
Caching 5
Configurations 10
CoreWCF 1
Dependency Injection 4
Diagnostics 5
Endpoint Routing 32
Email 2
Elsa Workflow 14 .NET8
Exception Handler Middleware 2
Features 11
Generic Hosting 9
gRPC (including grpc-Web) 12
Health Check 6
IHttpClientFactory 4
IHostedService 2
Logging 4
Localization and Globalization 6
Middleware 14
Mini Apps 2
Minimal API 36 Routing, Parameter Bindings, etc
Minimal Hosting 23
MVC 47 Localization, Routing, Razor Class Library, Tag Helpers, View Component, etc
Output Cache Middleware
Open Telemetry 3
Orchard Core 4
Path String (HttpContext.Request.Path) 1
Problem Details Middleware 3
Razor Pages 10 TempData
Request 15 Form, Cookies, Query String, Headers
Request Timeouts Middleware 6
Response 3
SignalR 1
Security 7
Single File Application 2
Static Files and File Provider 10
System.Text.Json 22
Syndications 3
Testing 1
URL Redirect/Rewrite 6
Uri Helper 5
Windows Service 1
Web Sockets 6
Web Utilities 3
Orleans 5 .NET.8
Xml 1
YARP 1

For Data Access samples, go to the excellent ORM Cookbook. .NET team also has a sample repository.

How to run these samples

To run these samples, simply open your command line console, go to each folder and execute dotnet watch run.

Misc (6)

  • Application Environment

    This sample shows how to obtain application environment information (target framework, etc).

  • Show Connection info

    Enumerate the connection information of a HTTP request.

  • Password Hasher server

    Give it a string and it will generate a secure hash for you, e.g. localhost:5000?password=mypassword.

  • Version info

    Show various version info of the framework your system is running on.

  • IApplicationLifetime

    Responds to application startup and shutdown.

    We are using IApplicationLifetime that trigger events during application startup and shutdown.

  • Short Circuit

    Use MapShortCircuit or .ShortCircuit() to efficiently respond to a request without going through a middleware pipeline run.

Server-Sent Events (1)

  • Forever Server

    This server will send a 'hello world' greeting forever.

Markdown (2)

Utils (3)

  • Status Codes

    Here we contrast between the usage of Microsoft.AspNetCore.Http.StatusCodes and System.Net.HttpStatusCode.

  • MediaTypeNames

    This class provides convenient constants for some common MIME types. It's not extensive by any means however MediaTypeNames.Text.Html and MediaTypeNames.Application.Json come handy.

  • MediaTypeNames - 2

    Using FileExtensionContentTypeProvider to obtain the correct MIME type of a filename extension.

Device Detection (1)

The samples in this section rely on Wangkanai.Detection library.

  • Device Detection

    This is the most basic device detection. You will be able to detect whether the client is a desktop or a mobile client.

Image Sharp (1)

All these samples require SixLabors.ImageSharp.Web middleware package. This middleware is an excelent tool to process your day to day image processing need.

  • Image-Sharp

    This example shows how to enable image resizing functionality to your site. It's super easy and the middleware takes care of caching, etc.

Misc