Beispiel #1
0
        /// <summary>
        /// Autofac extension
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="socketConfiguration"></param>
        public static ContainerBuilder AddSocketClientConnection(this ContainerBuilder builder, SocketConfiguration socketConfiguration)
        {
            builder.Register <ISocketClient>(ctx =>
            {
                var loggerFactory = ctx.Resolve <ILoggerFactory>();
                var options       = Options.Create(socketConfiguration);

                return(new SocketClient(loggerFactory, options));
            })
            .SingleInstance();

            return(builder);
        }
Beispiel #2
0
 public SocketClient(ILoggerFactory loggerFactory, IOptions <SocketConfiguration> options)
 {
     _loggerFactory = loggerFactory;
     _logger        = loggerFactory.CreateLogger <SocketClient>() ?? throw new ArgumentNullException(nameof(loggerFactory));
     _options       = options?.Value ?? throw new ArgumentNullException(nameof(options));
 }