public static WebSocketServerBuilder UseHandlerMessage <IHandler>(this WebSocketServerBuilder builder, string opts, Lazy <IHandler> handler) where IHandler : IMessageHandler { var msgType = GetMessageType(typeof(IHandler)); if (msgType != null) { builder.MessageTypeMapper.Register(opts, msgType); } builder.InvokeHandlerManager.AddMessageHandler(opts, new Lazy <IMessageHandler>(() => (IMessageHandler)handler.Value)); return(builder); }
public static WebSocketServerBuilder UseHandlerMessage <IHandler>(this WebSocketServerBuilder builder, string opts) where IHandler : IMessageHandler { var msgType = GetMessageType(typeof(IHandler)); if (msgType != null) { builder.MessageTypeMapper.Register(opts, msgType); } var type = typeof(IHandler); builder.Services.AddTransient(type, type); builder.InvokeHandlerManager.AddMessageHandler(opts, new Lazy <IMessageHandler>(() => (IMessageHandler)builder.ServiceProvider.GetService(type))); return(builder); }