Ejemplo n.º 1
0
        public SignalrService(
            IOptionsSnapshot <SignalrOptions> signalrOptions,
            IHttpClientFactory httpClientFactory,
            ILogger <SignalrService> logger)
        {
            _logger         = logger;
            _signalrOptions = signalrOptions.Value;

            _httpClient             = httpClientFactory.CreateClient("signalR");
            _httpClient.BaseAddress = new Uri(_signalrOptions.Url);
            _httpClient.SetToken(_signalrOptions.Scheme, _signalrOptions.ApiKey);
        }
Ejemplo n.º 2
0
        public void Configure(
            IApplicationBuilder app,
            IWebHostEnvironment env,
            IHostApplicationLifetime applicationLifetime,
            SignalrOptions signalrOptions,
            IConsulClient client /*,
                                  * IStartupInitializer startupInitializer*/)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseCors("signalr");
            app.UseStaticFiles();
            app.UseErrorHandler();
            app.UseAuthentication();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
                endpoints.MapControllers();
                endpoints.MapHub <FliGenHub>($"/{signalrOptions.Hub}");
            });
            app.UseServiceId();
            app.UseRabbitMq()
            .SubscribeEvent <OperationPending>("operations")
            .SubscribeEvent <OperationCompleted>("operations")
            .SubscribeEvent <OperationRejected>("operations");

            var consulServiceId = app.UseConsul();

            applicationLifetime.ApplicationStopped.Register(() =>
            {
                client.Agent.ServiceDeregister(consulServiceId);
                Container.Dispose();
            });

            //startupInitializer.InitializeAsync();
        }
Ejemplo n.º 3
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env,
                              IApplicationLifetime applicationLifetime, SignalrOptions signalrOptions,
                              IConsulClient client, IStartupInitializer startupInitializer)
        {
            if (env.IsDevelopment() || env.EnvironmentName == "local")
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseCors("CorsPolicy");
            app.UseAllForwardedHeaders();
            app.UseStaticFiles();
            app.UseSwaggerDocs();
            app.UseErrorHandler();
            app.UseAuthentication();
            app.UseAccessTokenValidator();
            app.UseServiceId();
            app.UseSignalR(routes =>
            {
                routes.MapHub <DShopHub>($"/{signalrOptions.Hub}");
            });
            app.UseMvc();
            app.UseRabbitMq()
            .SubscribeEvent <OperationPending>(@namespace: "operations")
            .SubscribeEvent <OperationCompleted>(@namespace: "operations")
            .SubscribeEvent <OperationRejected>(@namespace: "operations");

            var consulServiceId = app.UseConsul();

            applicationLifetime.ApplicationStopped.Register(() =>
            {
                client.Agent.ServiceDeregister(consulServiceId);
                Container.Dispose();
            });

            startupInitializer.InitializeAsync();
        }