using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Serilog; using System; using System.Configuration; using WMS_GIRAF_Interface.Data; using WMS_GIRAF_Interface.Repositories.Implement; using WMS_GIRAF_Interface.Repositories.Interface; using WMS_GIRAF_Interface.TaskServices; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); //添加使用到的数据仓库服务 builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); //添加使用的处理逻辑 builder.Services.AddScoped(); builder.Services.AddScoped(); #if DEBUG var connectionString = builder.Configuration.GetConnectionString("TestConnectString"); #else var connectionString = builder.Configuration.GetConnectionString("PrdConnectString"); #endif Console.WriteLine($"数据库连接字符串: {connectionString}"); //初始化数据库连接 builder.Services.AddDbContext(options => options.UseSqlServer(connectionString), ServiceLifetime.Transient); var configuration = builder.Configuration; // 配置 Serilog Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .CreateLogger(); Log.Information("Starting web application"); builder.Host.UseSerilog(); builder.Services.AddCors(options => { options.AddPolicy("AllowSpecificOrigins", corsPolicyBuilder => { // 允许特定的源访问 corsPolicyBuilder.WithOrigins("*") .AllowAnyHeader() .AllowAnyMethod(); }); }); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } // 使用 CORS 中间件 app.UseCors("AllowSpecificOrigins"); app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers(); app.Run();