IClientWebSocket builder

This commit is contained in:
2026-01-09 14:26:36 +01:00
parent 3b47d0bd0c
commit a4d0d5cab7
8 changed files with 157 additions and 13 deletions
@@ -2,6 +2,7 @@
using Microsoft.Extensions.Logging;
using Slim;
using System.Net.Http;
using System.Net.WebSockets;
namespace System.Extensions;
@@ -34,6 +35,19 @@ public static class ServiceManagerExtensions
return new HttpClientBuilder<T>(services);
}
/// <summary>
/// Register a scoped <see cref="IClientWebSocket{TScope}"/> to be used by the DI engine.
/// </summary>
/// <typeparam name="T">Type of the scoped <see cref="IClientWebSocket{TScope}"/>.</typeparam>
/// <param name="services"><see cref="IServiceCollection"/>.</param>
/// <returns><see cref="ClientWebSocketBuilder{T}"/> to build the websocket client.</returns>
public static ClientWebSocketBuilder<T> RegisterClientWebSocket<T>(this IServiceCollection services)
{
services.ThrowIfNull(nameof(services));
return new ClientWebSocketBuilder<T>(services);
}
[Obsolete($"{nameof(RegisterHttpFactory)} is obsolete. Please use {nameof(RegisterHttpClient)} for each service that requires an instance of {nameof(IHttpClient<object>)}.")]
public static IServiceProducer RegisterHttpFactory(this IServiceProducer serviceProducer)
{