public InfiniPollingService( ILogger <InfiniPollingService> logger, IConfiguration configuration, RedisContext redisContext, ServiceBusContext serviceBusContext, HttpClient httpClient) { this.logger = logger; this.configuration = configuration; this.redisContext = redisContext; this.serviceBusContext = serviceBusContext; this.httpClient = httpClient; orderService = new OrderService(httpClient); this.pushQueueClient = this.serviceBusContext.PushQueueClient; this.pullQueueClient = this.serviceBusContext.PullQueueClient; }
public void ConfigureServices(IServiceCollection services) { var redisConnectionString = configuration["kvstore"]; var redisContext = new RedisContext(redisConnectionString); services.AddSingleton <RedisContext>(redisContext); var serviceBusConnectionString = configuration["servicebus"]; var pushQueueName = configuration["pushqueue"]; var pullQueueName = configuration["pullqueue"]; var serviceBusContext = new ServiceBusContext( connectionString: serviceBusConnectionString, pushQueueName: pushQueueName, pullQueueName: pullQueueName); services.AddSingleton(serviceBusContext); services.AddSingleton <HttpClient>(); services.AddSingleton <IHostedService, InfiniPollingService>(); }