123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System.Net;
- using CompServ.Hub;
- using Microsoft.AspNetCore.Builder;
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Server.Kestrel.Core;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Logging;
- using Microsoft.Extensions.Logging.Console;
- var builder = WebApplication.CreateBuilder(args);
- builder.Services.AddLogging(opt =>
- {
- opt.AddSimpleConsole(p =>
- {
- p.TimestampFormat = "[dd HH:mm:ss] ";
- p.SingleLine = true;
- p.ColorBehavior = LoggerColorBehavior.Enabled;
- });
- });
- builder.Services.Configure<LoggerFilterOptions>(options =>
- {
- options.AddFilter((category, level) =>
- {
- if (level == LogLevel.Debug) return false;
- if (level == LogLevel.Trace) return false;
- if (category == "Microsoft.AspNetCore.Hosting.Diagnostics" && level == LogLevel.Information) return false;
- if (category == "Microsoft.AspNetCore.Routing.EndpointMiddleware" && level == LogLevel.Information) return false;
- if (category == "Microsoft.AspNetCore.Server.Kestrel" && level == LogLevel.Information) return false;
- if (category == "Microsoft.AspNetCore.Server.Kestrel.Http2" && level == LogLevel.Information) return false;
- if (category == "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker" && level == LogLevel.Information) return false;
- if (category == "Microsoft.AspNetCore.Mvc.Infrastructure.ContentResultExecutor" && level == LogLevel.Information) return false;
- if (category == "Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor" && level == LogLevel.Information) return false;
- return true;
- });
- });
- builder.WebHost.UseKestrel((_, kso) =>
- {
- kso.Listen(new IPEndPoint(IPAddress.Any, 0), lo => lo.Protocols = HttpProtocols.Http2);
- kso.Listen(new IPEndPoint(IPAddress.Any, 0), lo => lo.Protocols = HttpProtocols.Http1);
- });
- builder.Services.AddSingleton<HubWorkerHolder>();
- builder.Services.AddHostedService<HubWorkerAssigner>();
- builder.Services.AddControllers();
- var app = builder.Build();
- app.Use(async (context, next) =>
- {
- context.Request.EnableBuffering();
- await next(context);
- });
- app.MapControllers();
- app.MapGet("/", () => "I am hub!");
- await app.RunAsync();
|