Class ConfigurableMiddleware<T1, T2, T3, T4, TOptions>
- Namespace
- Cuemon.AspNetCore
- Assembly
- Cuemon.AspNetCore.dll
Provides an base-class for configurable middleware implementation in ASP.NET Core that supports the options pattern with four dependency injected parameters.
public abstract class ConfigurableMiddleware<T1, T2, T3, T4, TOptions> : ConfigurableMiddlewareCore<TOptions>, IConfigurable<TOptions> where TOptions : class, IParameterObject, new()
Type Parameters
T1
The type of the first dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
T2
The type of the second dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
T3
The type of the third dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
T4
The type of the fourth dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
TOptions
The type of the options to setup.
- Inheritance
-
ConfigurableMiddlewareCore<TOptions>ConfigurableMiddleware<T1, T2, T3, T4, TOptions>
- Implements
-
IConfigurable<TOptions>
- Inherited Members
Constructors
ConfigurableMiddleware(RequestDelegate, IOptions<TOptions>)
Initializes a new instance of the ConfigurableMiddleware<TOptions> class.
protected ConfigurableMiddleware(RequestDelegate next, IOptions<TOptions> setup)
Parameters
next
RequestDelegateThe delegate of the request pipeline to invoke.
setup
IOptions<TOptions>The IOptions<TOptions> which need to be configured.
ConfigurableMiddleware(RequestDelegate, Action<TOptions>)
Initializes a new instance of the ConfigurableMiddleware<TOptions> class.
protected ConfigurableMiddleware(RequestDelegate next, Action<TOptions> setup)
Parameters
next
RequestDelegateThe delegate of the request pipeline to invoke.
setup
Action<TOptions>The Action<T> which need to be configured.
Methods
InvokeAsync(HttpContext, T1, T2, T3, T4)
Executes the ConfigurableMiddleware<T1, T2, T3, T4, TOptions>.
public abstract Task InvokeAsync(HttpContext context, T1 di1, T2 di2, T3 di3, T4 di4)
Parameters
context
HttpContextThe context of the current request.
di1
T1The first dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
di2
T2The second dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
di3
T3The third dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
di4
T4The fourth dependency injected parameter of InvokeAsync(HttpContext, T1, T2, T3, T4).
Returns
- Task
A task that represents the execution of this middleware.