Program.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using molilian.core;
  2. using dodohold.core;
  3. using Microsoft.Extensions.DependencyInjection.Extensions;
  4. using Microsoft.OpenApi.Models;
  5. using System.Security.Cryptography.Xml;
  6. var builder = WebApplication.CreateBuilder(args);
  7. builder.Services.Init();
  8. builder.Services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
  9. builder.Services.AddControllers(option =>
  10. {
  11. option.Filters.Add(typeof(ResponseExceptionFilterAttribute));
  12. option.Filters.Add(typeof(MyAuthorizationFactory.MyActionFilter));
  13. });
  14. //builder.Services.AddHostedService<TaskWorker>();
  15. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
  16. builder.Services.AddEndpointsApiExplorer();
  17. builder.Services.AddSwaggerGen(option =>
  18. {
  19. option.AddSecurityDefinition("Authorization", new OpenApiSecurityScheme()
  20. {
  21. Description = "请输入 token",
  22. Name = "Authorization",
  23. In = ParameterLocation.Header,
  24. Type = SecuritySchemeType.ApiKey
  25. });
  26. option.AddSecurityRequirement(new OpenApiSecurityRequirement
  27. {
  28. {
  29. new OpenApiSecurityScheme
  30. {
  31. Reference = new OpenApiReference()
  32. {
  33. Type = ReferenceType.SecurityScheme,
  34. Id = "Bearer"
  35. }
  36. }, Array.Empty<string>()
  37. }
  38. });
  39. });
  40. builder.Services.AddCors(options =>
  41. {
  42. options.AddPolicy("AllowAll",
  43. builder =>
  44. {
  45. builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
  46. });
  47. });
  48. var app = builder.Build();
  49. // Configure the HTTP request pipeline.
  50. if (app.Environment.IsDevelopment())
  51. {
  52. app.UseSwagger();
  53. app.UseSwaggerUI();
  54. }
  55. //app.UseSwagger();
  56. //app.UseSwaggerUI();
  57. app.UseRequestLocalization();
  58. // 添加下面这行
  59. System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
  60. app.UseHttpsRedirection();
  61. app.UseAuthorization();
  62. app.MapControllers();
  63. app.UseCors("AllowAll"); // 启用 CORS 中间件
  64. app.Run();