# ConnectionMiddlewareExtensions Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.connectionmiddlewareextensions/)

## UseMiddleware(IConnectionBuilder, IConnectionMiddleware) {#usemiddleware-this-microsoft-aspnetcore-connections-iconnectionbuilder-orleans-r-c72e5f8a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.connectionmiddlewareextensions/methods/usemiddleware-this-microsoft-aspnetcore-connections-iconnectionbuilder-orleans-r-c72e5f8a/)

[Source](https://github.com/dotnet/orleans/blob/c9649c32492ebefacecd89d6fdef918adede6cdf/src/Orleans.Core/Networking/ConnectionMiddlewareExtensions.cs#L38-L48)

```csharp
public static IConnectionBuilder UseMiddleware(this IConnectionBuilder builder, IConnectionMiddleware middleware)
```

Adds an [IConnectionMiddleware](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.runtime.messaging.iconnectionmiddleware/) instance to the connection pipeline.

### Parameters

- `builder` (`IConnectionBuilder`)
- `middleware` (`IConnectionMiddleware`)

## UseMiddleware(IConnectionBuilder) {#usemiddleware-1-this-microsoft-aspnetcore-connections-iconnectionbuilder-761f5331}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.connectionmiddlewareextensions/methods/usemiddleware-1-this-microsoft-aspnetcore-connections-iconnectionbuilder-761f5331/)

[Source](https://github.com/dotnet/orleans/blob/c9649c32492ebefacecd89d6fdef918adede6cdf/src/Orleans.Core/Networking/ConnectionMiddlewareExtensions.cs#L20-L26)

```csharp
public static IConnectionBuilder UseMiddleware<T>(this IConnectionBuilder builder)
```

Adds an [IConnectionMiddleware](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.runtime.messaging.iconnectionmiddleware/) to the connection pipeline. The middleware must be registered as a singleton service and must be safe for concurrent use.

### Parameters

- `builder` (`IConnectionBuilder`)
