| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using Grpc.Core;
- using Grpc.Net.Client;
- using GrpcShared.Interfaces;
- using Microsoft.AspNetCore.Builder;
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.AspNetCore.Server.Kestrel.Core;
- using ProtoBuf.Grpc.Client;
- using SpotifyService.Services;
-
- namespace SpotifyWorker
- {
- public class Worker : BackgroundService
- {
- private readonly ILogger<Worker> _logger;
-
- private IStatsService _serviceClient;
- public Worker(ILogger<Worker> logger)
- {
- _logger = logger;
- // AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
- _serviceClient = GrpcChannel.ForAddress("https://localhost:5051/").CreateGrpcService<IStatsService>();
- }
- //public override Task StartAsync(CancellationToken cancellationToken)
- //{
- // return base.StartAsync(cancellationToken);
- //}
- //public class GrpcServerStartup
- //{
- // public void ConfigureServices(IServiceCollection services)
- // {
- // services.AddGrpc();
- // //services.AddTransient<IStatsService, StatsService>();
- // }
-
- // public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
- // {
- // app.UseRouting();
-
- // app.UseEndpoints(endpoints =>
- // {
- // endpoints.MapGrpcService<StatsService>();
- // });
- // }
- //}
- protected override async Task ExecuteAsync(CancellationToken stoppingToken)
- {
- while (!stoppingToken.IsCancellationRequested)
- {
- // await Host.CreateDefaultBuilder()
- //.ConfigureWebHostDefaults(builder =>
- //{
- // builder
- // .ConfigureKestrel(options =>
- // {
- // options.ListenAnyIP(0, listenOptions =>
- // {
- // listenOptions.Protocols = HttpProtocols.Http2;
- // });
- // })
- // .UseKestrel()
- // .UseStartup<GrpcServerStartup>();
- //})
- //.Build()
- //.StartAsync(stoppingToken);
- //await _statsService.GetCurrentlyPlayingTrack(new GrpcShared.DTO.SessionMessage { UserId = "6308a8bfc731f7b44d76ac4e" });
- //var result = await _httpClient.GetAsync("url");
- //_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
- await Task.Delay(5000, stoppingToken);
- try
- {
- var res = await _serviceClient.GetCurrentlyPlayingTrack(new GrpcShared.DTO.SessionMessage { UserId = "6308a8bfc731f7b44d76ac4e" });
-
- }
- catch (RpcException e)
- {
- if (e.StatusCode == StatusCode.Cancelled)
- {
- return;
- }
- Console.WriteLine(e.Message);
- throw;
- }
-
- //res = await _serviceClient.GetCurrentlyPlayingTrack(new GrpcShared.DTO.SessionMessage { UserId = "6308a8bfc731f7b44d76ac4e" });
-
-
- }
- }
- }
- }
|