219 lines
4.9 KiB
C#
219 lines
4.9 KiB
C#
global using System;
|
||
using Autofac.Extensions.DependencyInjection;
|
||
using Yi.Framework.WebCore.BuilderExtend;
|
||
using Yi.Framework.Core;
|
||
using Yi.Framework.WebCore.MiddlewareExtend;
|
||
using Yi.Framework.WebCore.Utility;
|
||
using Autofac;
|
||
using Yi.Framework.Common.Models;
|
||
using Yi.Framework.Language;
|
||
using Microsoft.Extensions.Localization;
|
||
using Yi.Framework.WebCore.AttributeExtend;
|
||
using Yi.Framework.WebCore.SignalRHub;
|
||
using Hei.Captcha;
|
||
using Yi.Framework.WebCore;
|
||
using Microsoft.Extensions.DependencyInjection;
|
||
using Yi.Framework.WebCore.DbExtend;
|
||
using IPTools.Core;
|
||
|
||
var builder = WebApplication.CreateBuilder(args);
|
||
builder.Configuration.AddCommandLine(args);
|
||
builder.WebHost.UseUrls(builder.Configuration.GetValue<string>("StartUrl"));
|
||
builder.Host.ConfigureAppConfiguration((hostBuilderContext, configurationBuilder) =>
|
||
{
|
||
configurationBuilder.AddCommandLine(args);
|
||
configurationBuilder.AddJsonFileService();
|
||
#region
|
||
//ApolloÅäÖÃ
|
||
#endregion
|
||
configurationBuilder.AddApolloService("Yi");
|
||
});
|
||
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
|
||
builder.Host.ConfigureContainer<ContainerBuilder>(containerBuilder =>
|
||
{
|
||
#region
|
||
//½»ÓÉModuleÒÀÀµ×¢Èë
|
||
#endregion
|
||
containerBuilder.RegisterModule<CustomAutofacModule>();
|
||
});
|
||
builder.Host.ConfigureLogging(loggingBuilder =>
|
||
{
|
||
loggingBuilder.AddFilter("System", Microsoft.Extensions.Logging.LogLevel.Warning);
|
||
loggingBuilder.AddFilter("Microsoft", Microsoft.Extensions.Logging.LogLevel.Warning);
|
||
loggingBuilder.AddLog4Net("./Config/Log4net.config");
|
||
});
|
||
#region
|
||
//ÅäÖÃÀàÅäÖÃ
|
||
//builder.Host.ConfigureWebHostDefaults(webBuilder =>
|
||
// {
|
||
// //webBuilder.UseStartup<Startup>();
|
||
// });
|
||
#endregion
|
||
//-----------------------------------------------------------------------------------------------------------
|
||
#region
|
||
//IocÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddIocService(builder.Configuration);
|
||
#region
|
||
//SqlsugarÉÏÏÂÎÄ×¢Èë,ÊÇ·ñ¿ªÆôÊý¾ÝȨÏÞ¹¦ÄÜ£¬¿ªÆôÐèÒªRedis»º´æ
|
||
#endregion
|
||
builder.Services.AddSqlsugarServer();
|
||
//builder.Services.AddSqlsugarServer(DbFiterExtend.Data);
|
||
#region
|
||
//QuartzÈÎÎñµ÷¶ÈÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddQuartzService();
|
||
#region
|
||
//AutoMapper×¢Èë
|
||
#endregion
|
||
builder.Services.AddAutoMapperService();
|
||
#region
|
||
//¿ØÖÆÆ÷+¹ýÂËÆ÷ÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddControllers(optios => {
|
||
//×¢²áÈ«¾Ö
|
||
optios.Filters.Add<GlobalLogAttribute>();
|
||
}).AddJsonFileService();
|
||
#region
|
||
//ȨÏÞ¹ýÂËÆ÷
|
||
#endregion
|
||
//ȨÏÞ
|
||
builder.Services.AddSingleton<PermissionAttribute>();
|
||
//ÈÕÖ¾
|
||
builder.Services.AddSingleton<GlobalLogAttribute>();
|
||
#region
|
||
//Swagger·þÎñÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddSwaggerService<Program>();
|
||
#region
|
||
//¿çÓò·þÎñÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddCorsService();
|
||
#region
|
||
//Jwt¼øÈ¨ÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddJwtService();
|
||
#region
|
||
//ÊÚȨÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddAuthorizationService();
|
||
#region
|
||
//Redis·þÎñÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddRedisService();
|
||
#region
|
||
//RabbitMQ·þÎñÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddRabbitMQService();
|
||
#region
|
||
//ElasticSeach·þÎñÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddElasticSeachService();
|
||
#region
|
||
//¶ÌÐÅ·þÎñÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddSMSService();
|
||
#region
|
||
//CAP·þÎñÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddCAPService();
|
||
#region
|
||
//¹ú¼Ê»¯ÅäÖÃ
|
||
#endregion
|
||
builder.Services.AddLocalizerService();
|
||
#region
|
||
//Ìí¼ÓsignalR
|
||
#endregion
|
||
builder.Services.AddSignalR();
|
||
#region
|
||
//Ìí¼ÓÑéÖ¤Âë
|
||
#endregion
|
||
builder.Services.AddHeiCaptcha();
|
||
#region
|
||
//Ìí¼ÓHttpÉÏÏÂÎÄ
|
||
#endregion
|
||
|
||
builder.Services.AddHttpContextAccessor();
|
||
//-----------------------------------------------------------------------------------------------------------
|
||
var app = builder.Build();
|
||
#region
|
||
//·þÎñÈÝÆ÷
|
||
#endregion
|
||
ServiceLocator.Instance = app.Services;
|
||
//if (app.Environment.IsDevelopment())
|
||
{
|
||
#region
|
||
//²âÊÔÒ³Ãæ×¢Èë
|
||
#endregion
|
||
app.UseDeveloperExceptionPage();
|
||
#region
|
||
//Swagger·þÎñ×¢Èë
|
||
#endregion
|
||
app.UseSwaggerService();
|
||
}
|
||
#region
|
||
//´íÎóץȡ·´À¡×¢Èë
|
||
#endregion
|
||
app.UseErrorHandlingService();
|
||
|
||
#region
|
||
//¾²Ì¬Îļþ×¢Èë
|
||
#endregion
|
||
app.UseStaticFiles();
|
||
#region
|
||
//¶àÓïÑÔ¹ú¼Ê»¯×¢Èë
|
||
#endregion
|
||
app.UseLocalizerService();
|
||
|
||
#region
|
||
//ÉÏÏÂÎÄÇëÇóbody
|
||
#endregion
|
||
app.UseHttpBodyService();
|
||
#region
|
||
//HttpsRedirection×¢Èë
|
||
#endregion
|
||
app.UseHttpsRedirection();
|
||
#region
|
||
//·ÓÉ×¢Èë
|
||
#endregion
|
||
app.UseRouting();
|
||
#region
|
||
//¿çÓò·þÎñ×¢Èë
|
||
#endregion
|
||
app.UseCorsService();
|
||
#region
|
||
//½¡¿µ¼ì²é×¢Èë
|
||
#endregion
|
||
app.UseHealthCheckService();
|
||
#region
|
||
//¼øÈ¨×¢Èë
|
||
#endregion
|
||
app.UseAuthentication();
|
||
#region
|
||
//ÊÚȨעÈë
|
||
#endregion
|
||
app.UseAuthorization();
|
||
#region
|
||
//Consul·þÎñ×¢Èë
|
||
#endregion
|
||
app.UseConsulService();
|
||
|
||
#region
|
||
//Êý¾Ý¿âÖÖ×Ó×¢Èë
|
||
#endregion
|
||
app.UseDbSeedInitService();
|
||
#region
|
||
//redisÖÖ×Ó×¢Èë
|
||
#endregion
|
||
app.UseRedisSeedInitService();
|
||
|
||
app.UseEndpoints(endpoints =>
|
||
{
|
||
#region
|
||
//SignalRÅäÖÃ
|
||
#endregion
|
||
endpoints.MapHub<MainHub>("/api/hub/main");
|
||
endpoints.MapControllers();
|
||
});
|
||
|
||
app.Run(); |