/practical-aspnetcore

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

Primary LanguageC#MIT LicenseMIT

Samples for ASP.NET Core 6.0 (447)

Samples for ASP.NET Core 7.0 is available here (44).

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

Previous versions

5.0, 3.1 LTS, 2.1 LTS

Sections

Section
Blazor Client Side (Web Assembly) 22 Components, Data Binding
Blazor Server Side 15 Localization
Caching 5
Configurations 10
CoreWCF 1
Dependency Injection 4
Diagnostics 6
Endpoint Routing 32
Email 2
Features 11
Generic Hosting 9
gRPC (including grpc-Web) 12
Health Check 6
IHttpClientFactory 4
IHostedService 2
Logging 3
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
Open Telemetry 3
Orchard Core 4
Path String (HttpContext.Request.Path) 1
Razor Pages 10 TempData
Request 15 Form, Cookies, Query String, Headers
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 12
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.

  • Keeping track of anonymous users

    Keep track of anonymous user in your ASP.NET Core (useful in scenario such as keeping track of shopping cart) using ReturnTrue.AspNetCore.Identity.Anonymous library.

  • 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.

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