AutoDispatching/AutoDispathingWork/Program.cs
2023-11-19 17:06:38 +08:00

54 lines
1.5 KiB
C#

using AutoDispathingWork.Utils;
using LiteDB;
using Microsoft.OpenApi.Models;
using WorkerService1;
using WorkerService1.Dto.Configuration;
using WorkerService1.Services;
var builder = WebApplication.CreateBuilder(args);
builder.Services
.AddControllers();
builder.Services
.AddEndpointsApiExplorer();
var config = new ConfigurationManager()
.AddJsonFile("appsettings.json", false, true)
.Build();
builder.Services.AddCors(x =>
{
x.AddPolicy("AllowAllOrigin", builder =>
{
builder
.SetIsOriginAllowed(_ => true)
.AllowAnyMethod()
.AllowAnyHeader();
});
});
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton<LiteDatabase>(x => new LiteDatabase(builder.Configuration["Database:ConnectionString"]));
builder.Services.AddSingleton<IConfiguration>(config);
builder.Services.Configure<ClientOptions>(config.GetSection("ClientOptions"));
builder.Services.AddHttpClient();
builder.Services.AddMemoryCache();
builder.Services.AddLogging();
// builder.Services.AddMvcCore();
builder.Services.AddSingleton<SpiderServices>();
builder.Services.AddScoped<SettingServices>();
// #if !DEBUG
builder.Services.AddHostedService<Worker>();
builder.Services.AddHostedService<CloseWorker>();
// #endif
var app = builder.Build();
StaticServiceProvider.SetServiceProvider(app.Services);
app.UseCors("AllowAllOrigin");
app.UseSwagger();
app.UseSwaggerUI();
app.MapControllers();
app.Urls.Add("http://*:80");
app.Run();