Remove Slim dependency and adhere to Microsoft.Extensions standards

This commit is contained in:
2026-01-11 01:02:42 +01:00
parent 5e5cdb3b47
commit 124ae942b5
11 changed files with 46 additions and 307 deletions
@@ -1,30 +0,0 @@
using Microsoft.Extensions.Logging;
using Slim.Resolvers;
namespace System.Net.WebSockets;
[Obsolete($"Please use {nameof(Extensions.ServiceManagerExtensions.RegisterClientWebSocket)} for each use case of {nameof(IClientWebSocket<object>)}")]
public sealed class ClientWebSocketResolver : IDependencyResolver
{
private static readonly Type ClientType = typeof(ClientWebSocket<>);
private static readonly Type LoggerType = typeof(ILogger<>);
public bool CanResolve(Type type)
{
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(IClientWebSocket<>))
{
return true;
}
return false;
}
public object Resolve(Slim.IServiceProvider serviceProvider, Type type)
{
var typedClientType = ClientType.MakeGenericType(type.GetGenericArguments());
var typedLoggerType = LoggerType.MakeGenericType(type.GetGenericArguments());
var logger = serviceProvider.GetService(typedLoggerType);
var client = Activator.CreateInstance(typedClientType, new object[] { logger });
return client;
}
}