public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider, ILoggerFactory loggerFactory, IEventStoreConnection eventBus, EventTypeResolver typeResolver, WebSocketHandler handler) { app.UseCors("CorsPolicy"); app.UseWebSockets(); app.MapWebSocketManager("/ws", handler); var logger = loggerFactory.CreateLogger <Startup>(); Policy.Handle <Exception>() .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt))) .ExecuteAsync(async() => await eventBus.StartSubscription(EventStoreOptions, typeResolver, async(message) => { logger.LogInformation(message.ToString()); await handler.SendMessageToAllAsync(message); })) .Wait(); }