123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- using System.Text.Json;
- using Base;
- using Common;
- using Extensions;
- using Filters;
- using Infrastructure;
- using Infrastructure.Model;
- using Microsoft.AspNetCore.Http.Features;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Server.Kestrel.Core;
- using Microsoft.Extensions.FileProviders;
- using Middleware;
- using MySystem;
- using Services;
- using SummerBoot.Core;
- using Util;
- var builder = WebApplication.CreateBuilder(args);
- builder.Services.AddControllers();
- builder.Services.AddEndpointsApiExplorer();
- builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
- builder.Services.AddSession();
- builder.Services.AddHttpContextAccessor();
- builder.Services.AddCors(option => option.AddPolicy("cors", policy => policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().SetIsOriginAllowed(_ => true)));
- builder.Services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true).Configure<IISServerOptions>(x => x.AllowSynchronousIO = true);
- builder.Services.Configure<OptionsSetting>(builder.Configuration);
- builder.Services.AddSingleton(new AppSettings(builder.Configuration));
- builder.Services.AddRequestLimit(builder.Configuration);
- var openRedis = builder.Configuration["RedisServer:open"];
- if (openRedis == "1")
- {
- RedisServer.Initalize();
- }
- builder.Services.AddSingleton(new AppSettings(builder.Configuration));
- builder.Services.AddAppService();
- builder.Services.AddMvc(options =>
- {
- options.Filters.Add(typeof(GlobalActionMonitor));
- options.Filters.Add(typeof(AuthorizationFilter));
- })
- .AddJsonOptions(options =>
- {
-
- options.JsonSerializerOptions.WriteIndented = true;
- options.JsonSerializerOptions.Converters.Add(new JsonConverterUtil.DateTimeConverter());
- options.JsonSerializerOptions.Converters.Add(new JsonConverterUtil.DateTimeNullConverter());
- options.JsonSerializerOptions.Converters.Add(new StringConverter());
-
- options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
-
- });
- builder.Services.AddSummerBoot();
- builder.Services.AddSummerBootFeign();
- var app = builder.Build();
- InternalApp.ServiceProvider = app.Services;
- InternalApp.Configuration = builder.Configuration;
- InternalApp.WebHostEnvironment = app.Environment;
- builder.Services.AddDb(app.Environment);
- var workId = builder.Configuration["workId"].ParseToInt();
- if (app.Environment.IsDevelopment())
- {
- workId += 1;
- }
- SnowFlakeSingle.WorkId = workId;
- app.UseMiddleware<GlobalExceptionMiddleware>();
- app.Use(next => new RequestDelegate(
- async context =>
- {
- context.Request.EnableBuffering();
- await next(context);
- }
- ));
- if (app.Environment.IsDevelopment())
- {
- }
- app.UseStaticFiles();
- app.UseCors();
- app.UseHttpsRedirection();
- app.UseAuthorization();
- app.UseRouting();
- app.UseEndpoints(endpoints =>
- {
- endpoints.MapControllerRoute(
- name: "default",
- pattern: "{controller=Home}/{action=Index}/{Id?}");
- });
- app.MapControllerRoute(
- name: "default",
- pattern: "{controller=Home}/{action=Index}/{id?}");
- app.MapControllers();
- app.Urls.Add("http://*:5802");
- RabbitMQClient.Instance.Start();
- app.Run();
|