Table of Contents

Class MiddlewareDispatcherBuilderExtensions

Namespace
IceRpc.Extensions.DependencyInjection
Assembly
IceRpc.Extensions.DependencyInjection.dll

Provides extension methods for IDispatcherBuilder to register middleware.

public static class MiddlewareDispatcherBuilderExtensions
Inheritance
MiddlewareDispatcherBuilderExtensions
Inherited Members

Methods

UseMiddleware<TMiddleware, TDep>(IDispatcherBuilder)

Registers a middleware with one service dependency in its DispatchAsync method. Such a middleware implements IMiddleware<TDep> and provides a single constructor that accepts a dispatcher (the next dispatcher) followed by 0 or more DI-injected services.

public static IDispatcherBuilder UseMiddleware<TMiddleware, TDep>(this IDispatcherBuilder builder) where TMiddleware : IMiddleware<TDep> where TDep : notnull

Parameters

builder IDispatcherBuilder

This dispatcher builder.

Returns

IDispatcherBuilder

The dispatcher builder.

Type Parameters

TMiddleware

The type of the middleware to register.

TDep

The type of the service dependency.

UseMiddleware<TMiddleware, TDep1, TDep2>(IDispatcherBuilder)

Registers a middleware with 2 service dependencies in its DispatchAsync method. Such a middleware implements IMiddleware<TDep1, TDep2> and provides a single constructor that accepts a dispatcher (the next dispatcher) followed by 0 or more DI-injected services.

public static IDispatcherBuilder UseMiddleware<TMiddleware, TDep1, TDep2>(this IDispatcherBuilder builder) where TMiddleware : IMiddleware<TDep1, TDep2> where TDep1 : notnull where TDep2 : notnull

Parameters

builder IDispatcherBuilder

This dispatcher builder.

Returns

IDispatcherBuilder

The dispatcher builder.

Type Parameters

TMiddleware

The type of the middleware to register.

TDep1

The type of the first service dependency.

TDep2

The type of the second service dependency.

UseMiddleware<TMiddleware, TMiddlewareOptions, TDep>(IDispatcherBuilder, TMiddlewareOptions)

Registers a middleware with an explicit Options parameter and with one service dependency in its DispatchAsync method. Such a middleware implements IMiddleware<TDep> and provides a single constructor that accepts a dispatcher (the next dispatcher) followed by an instance of IOptions<TOptions> and then 0 or more DI-injected services.

public static IDispatcherBuilder UseMiddleware<TMiddleware, TMiddlewareOptions, TDep>(this IDispatcherBuilder builder, TMiddlewareOptions options) where TMiddleware : IMiddleware<TDep> where TMiddlewareOptions : class where TDep : notnull

Parameters

builder IDispatcherBuilder

This dispatcher builder.

options TMiddlewareOptions

The options to give to the constructor of the middleware.

Returns

IDispatcherBuilder

The dispatcher builder.

Type Parameters

TMiddleware

The type of the middleware to register.

TMiddlewareOptions

The type of the Options parameter of this middleware.

TDep

The type of the service dependency.

UseMiddleware<TMiddleware, TDep1, TDep2, TDep3>(IDispatcherBuilder)

Registers a middleware with 3 service dependencies in its DispatchAsync method. Such a middleware implements IMiddleware<TDep1, TDep2, TDep3> and provides a single constructor that accepts a dispatcher (the next dispatcher) followed by 0 or more DI-injected services.

public static IDispatcherBuilder UseMiddleware<TMiddleware, TDep1, TDep2, TDep3>(this IDispatcherBuilder builder) where TMiddleware : IMiddleware<TDep1, TDep2, TDep3> where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull

Parameters

builder IDispatcherBuilder

This dispatcher builder.

Returns

IDispatcherBuilder

The dispatcher builder.

Type Parameters

TMiddleware

The type of the middleware to register.

TDep1

The type of the first service dependency.

TDep2

The type of the second service dependency.

TDep3

The type of the third service dependency.

UseMiddleware<TMiddleware, TMiddlewareOptions, TDep1, TDep2>(IDispatcherBuilder, TMiddlewareOptions)

Registers a middleware with an Options parameter and with 2 service dependencies in its DispatchAsync method. Such a middleware implements IMiddleware<TDep1, TDep2> and provides a single constructor that accepts a dispatcher (the next dispatcher) followed by an instance of IOptions<TOptions> and then 0 or more DI-injected services.

public static IDispatcherBuilder UseMiddleware<TMiddleware, TMiddlewareOptions, TDep1, TDep2>(this IDispatcherBuilder builder, TMiddlewareOptions options) where TMiddleware : IMiddleware<TDep1, TDep2> where TMiddlewareOptions : class where TDep1 : notnull where TDep2 : notnull

Parameters

builder IDispatcherBuilder

This dispatcher builder.

options TMiddlewareOptions

The options to give to the constructor of the middleware.

Returns

IDispatcherBuilder

The dispatcher builder.

Type Parameters

TMiddleware

The type of the middleware to register.

TMiddlewareOptions

The type of Options parameter of this middleware.

TDep1

The type of the first service dependency.

TDep2

The type of the second service dependency.

UseMiddleware<TMiddleware, TMiddlewareOptions, TDep1, TDep2, TDep3>(IDispatcherBuilder, TMiddlewareOptions)

Registers a middleware with an Options parameter and with 3 service dependencies in its DispatchAsync method. Such a middleware implements IMiddleware<TDep1, TDep2, TDep3> and provides a single constructor that accepts a dispatcher (the next dispatcher) followed by an instance of IOptions<TOptions> and then 0 or more DI-injected services.

public static IDispatcherBuilder UseMiddleware<TMiddleware, TMiddlewareOptions, TDep1, TDep2, TDep3>(this IDispatcherBuilder builder, TMiddlewareOptions options) where TMiddleware : IMiddleware<TDep1, TDep2, TDep3> where TMiddlewareOptions : class where TDep1 : notnull where TDep2 : notnull where TDep3 : notnull

Parameters

builder IDispatcherBuilder

This dispatcher builder.

options TMiddlewareOptions

The options to give to the constructor of the middleware.

Returns

IDispatcherBuilder

The dispatcher builder.

Type Parameters

TMiddleware

The type of the middleware to register.

TMiddlewareOptions

The type of Options parameter of this middleware.

TDep1

The type of the first service dependency.

TDep2

The type of the second service dependency.

TDep3

The type of the third service dependency.