MiddleSharp 1.0.0
dotnet add package MiddleSharp --version 1.0.0
NuGet\Install-Package MiddleSharp -Version 1.0.0
<PackageReference Include="MiddleSharp" Version="1.0.0" />
<PackageVersion Include="MiddleSharp" Version="1.0.0" />
<PackageReference Include="MiddleSharp" />
paket add MiddleSharp --version 1.0.0
#r "nuget: MiddleSharp, 1.0.0"
#:package MiddleSharp@1.0.0
#addin nuget:?package=MiddleSharp&version=1.0.0
#tool nuget:?package=MiddleSharp&version=1.0.0
MiddleSharp
This is a dynamic middleware system for C# services using dependency injection and proxies. It allows intercepting method calls, executing middleware pipelines and handling synchronous and asynchronous invocations.
Description
MiddleSharp provides a flexible way to add middleware to services registered in IServiceCollection. It uses dynamic proxies to intercept methods and execute a chain of middlewares before and after the actual method invocation.
Characteristics
- Methods interception using dynamic proxies.
- Configurable middleware pipeline.
- Support for synchronous and asynchronous methods (
TaskandTask<T>). - Integration with the .NET dependency injection system.
- Global and per-service middleware.
Installation
Install MiddleSharp through NuGet:
dotnet add package MiddleSharp
Usage
Middleware registration
For global middleware, use the UseGlobalMiddleware extension method:
services.UseGlobalMiddleware(Middleware.Invoke);
For per-service middleware, use the AddChained extension method:
services.AddChained<IService, Service>(pipeline =>
{
pipeline.Use(Middleware.Invoke);
});
Main Components
Dispatcher<T>: Dynamic proxy to run the middleware pipeline.ChainPipeline: Allows building and chain middlewares.ChainContext: Execution context for each method invocation.ServiceCollectionExtension: Extensions to register services and middlewares.
Licence
MIT
For additional details, please refer to the source code documentation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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. |
-
net9.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 177 | 8/21/2025 |