CShells.FastEndpoints 0.0.28

dotnet add package CShells.FastEndpoints --version 0.0.28
                    
NuGet\Install-Package CShells.FastEndpoints -Version 0.0.28
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CShells.FastEndpoints" Version="0.0.28" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CShells.FastEndpoints" Version="0.0.28" />
                    
Directory.Packages.props
<PackageReference Include="CShells.FastEndpoints" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CShells.FastEndpoints --version 0.0.28
                    
#r "nuget: CShells.FastEndpoints, 0.0.28"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CShells.FastEndpoints@0.0.28
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CShells.FastEndpoints&version=0.0.28
                    
Install as a Cake Addin
#tool nuget:?package=CShells.FastEndpoints&version=0.0.28
                    
Install as a Cake Tool

CShells.FastEndpoints

FastEndpoints integration for CShells providing automatic endpoint discovery and registration for shell features.

Purpose

This package integrates FastEndpoints with CShells, allowing you to build high-performance APIs with per-shell endpoint isolation and configuration.

Key Features

  • Automatic FastEndpoints discovery - Endpoints are discovered from features implementing IFastEndpointsShellFeature
  • Per-shell endpoint isolation - Each shell has its own set of FastEndpoints
  • Shell-scoped route prefix - Configure EndpointRoutePrefix per shell for FastEndpoints-specific prefixing
  • Configurator support - Implement IFastEndpointsConfigurator for custom FastEndpoints configuration

Installation

dotnet add package CShells.FastEndpoints

Quick Start

1. Create a FastEndpoints Feature

using CShells.FastEndpoints.Features;
using CShells.Features;
using Microsoft.Extensions.DependencyInjection;

[ShellFeature("MyApi", DependsOn = ["FastEndpoints"])]
public class MyApiFeature : IFastEndpointsShellFeature
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddSingleton<IMyService, MyService>();
    }
}

2. Create an Endpoint

using FastEndpoints;

public class GetWeatherEndpoint : EndpointWithoutRequest<WeatherResponse>
{
    public override void Configure()
    {
        Get("weather");
        AllowAnonymous();
    }

    public override async Task HandleAsync(CancellationToken ct)
    {
        await SendAsync(new WeatherResponse { Temperature = 72 });
    }
}

3. Configure Shell

{
  "CShells": {
    "Shells": {
      "Default": {
        "Features": { "Core": {}, "FastEndpoints": {}, "MyApi": {} },
        "Configuration": {
          "WebRouting": {
            "Path": "",
            "RoutePrefix": "api/v1"
          },
          "FastEndpoints": {
            "EndpointRoutePrefix": "fe"
          }
        }
      }
    }
  }
}

With this configuration, the weather endpoint is accessible at /api/v1/fe/weather.

Configuration

Route Prefixes

CShells.FastEndpoints supports two levels of route prefixing:

Configuration Key Scope Description
WebRouting:RoutePrefix All endpoints Applied to all shell endpoints (minimal APIs, controllers, FastEndpoints)
FastEndpoints:EndpointRoutePrefix FastEndpoints only Applied specifically to FastEndpoints via config.Endpoints.RoutePrefix

Custom Configurators

Implement IFastEndpointsConfigurator to customize FastEndpoints configuration:

public class MyConfigurator : IFastEndpointsConfigurator
{
    public void Configure(Config config)
    {
        config.Serializer.Options.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
    }
}

Register in your feature:

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IFastEndpointsConfigurator, MyConfigurator>();
}
  • CShells.FastEndpoints.Abstractions - Interfaces for feature libraries (reference this in your feature projects)
  • CShells.AspNetCore - Required for web routing and endpoint registration

Further Reading

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on CShells.FastEndpoints:

Package Downloads
Elsa.Api.Common

Provides common features to modules that expose API endpoints.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on CShells.FastEndpoints:

Repository Stars
elsa-workflows/elsa-core
The Workflow Engine for .NET
Version Downloads Last Updated
0.0.28 1,350 6/12/2026
0.0.27 113 6/12/2026
0.0.26 114 6/12/2026
0.0.25 115 6/11/2026
0.0.24 657 5/15/2026
0.0.23 108 5/15/2026
0.0.22 103 5/14/2026
0.0.21 111 5/12/2026
0.0.20 121 5/8/2026
0.0.19 101 5/6/2026
0.0.18 118 5/2/2026
0.0.17 116 4/29/2026
0.0.16 117 4/27/2026
0.0.15 111 4/27/2026
0.0.14 489 4/20/2026
0.0.13 119 4/17/2026
0.0.12 128 3/16/2026
0.0.11 156 2/28/2026
0.0.10 133 2/24/2026
0.0.9 128 2/15/2026
Loading failed