コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }