|
|
|
@ -33,26 +33,29 @@ namespace djyweb_djyPaasApi
|
|
|
|
|
|
|
|
|
|
public void ConfigureServices(IServiceCollection services)
|
|
|
|
|
{
|
|
|
|
|
services.AddControllers().ConfigureApiBehaviorOptions(options=> {
|
|
|
|
|
services.AddControllers().ConfigureApiBehaviorOptions(options =>
|
|
|
|
|
{
|
|
|
|
|
options.InvalidModelStateResponseFactory = context =>
|
|
|
|
|
{var result = new BadRequestObjectResult(context.HttpContext);
|
|
|
|
|
{
|
|
|
|
|
var result = new BadRequestObjectResult(context.HttpContext);
|
|
|
|
|
return result;
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
services.AddHttpClient();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//读取配置信息
|
|
|
|
|
Configuration.Bind("WebConfig", sysOptionConfig.YsWebconfig);
|
|
|
|
|
sysOptionConfig._Configuration = Configuration;
|
|
|
|
|
|
|
|
|
|
services.AddAuthentication("Bearer").AddJwtBearer("Bearer",option=> {
|
|
|
|
|
services.AddAuthentication("Bearer").AddJwtBearer("Bearer", option =>
|
|
|
|
|
{
|
|
|
|
|
option.Authority = sysOptionConfig.YsWebconfig.IdentServerUrl;//授权服务的URl地址
|
|
|
|
|
option.RequireHttpsMetadata = false;//是否使用了https
|
|
|
|
|
option.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
|
|
|
|
|
{ ValidateAudience = false };
|
|
|
|
|
IdentityModelEventSource.ShowPII = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//初始化数据库连接池
|
|
|
|
@ -73,9 +76,10 @@ namespace djyweb_djyPaasApi
|
|
|
|
|
services.AddAutoMapper(typeof(AutoMapperConfig));
|
|
|
|
|
|
|
|
|
|
//任务配置
|
|
|
|
|
services.AddHangfire(config => {
|
|
|
|
|
config.UseRedisStorage(sysOptionConfig.YsWebconfig.Redis, new Hangfire.Redis.RedisStorageOptions { Prefix = "hf_"+sysOptionConfig.YsWebconfig.WebName,InvisibilityTimeout=TimeSpan.FromHours(1) });
|
|
|
|
|
|
|
|
|
|
services.AddHangfire(config =>
|
|
|
|
|
{
|
|
|
|
|
config.UseRedisStorage(sysOptionConfig.YsWebconfig.Redis, new Hangfire.Redis.RedisStorageOptions { Prefix = "hf_" + sysOptionConfig.YsWebconfig.WebName, InvisibilityTimeout = TimeSpan.FromHours(1), Db = 3 });
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
services.AddHangfireServer();
|
|
|
|
|
//CAP 消息队列总线
|
|
|
|
@ -105,11 +109,11 @@ namespace djyweb_djyPaasApi
|
|
|
|
|
c.SwaggerDoc("v1", new OpenApiInfo { Title = "web_djyPaasapi", Version = "v1" });
|
|
|
|
|
var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
|
|
|
|
|
var xmlPath = Path.Combine(basePath, "AppServer.xml");
|
|
|
|
|
// c.IncludeXmlComments(Path.Combine(basePath, "djyweb_djyPaasApi.xml"));
|
|
|
|
|
// c.IncludeXmlComments(Path.Combine(basePath, "djyweb_djyPaasApi.xml"));
|
|
|
|
|
//c.IncludeXmlComments(Path.Combine(basePath, "djy.Model.xml"));
|
|
|
|
|
//c.IncludeXmlComments(Path.Combine(basePath, "Ys.Core.Common.xml"));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//初始化IOC
|
|
|
|
|
IOC.container = services;
|
|
|
|
|
|
|
|
|
@ -121,23 +125,24 @@ namespace djyweb_djyPaasApi
|
|
|
|
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
|
|
|
|
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//swagger
|
|
|
|
|
if (env.IsDevelopment())
|
|
|
|
|
{
|
|
|
|
|
app.UseDeveloperExceptionPage();
|
|
|
|
|
app.UseSwagger();
|
|
|
|
|
app.UseSwaggerUI(c => {
|
|
|
|
|
app.UseSwaggerUI(c =>
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
c.SwaggerEndpoint("/swagger/v1/swagger.json", "web_djyuserapi v1");
|
|
|
|
|
// c.RoutePrefix = "apidoc";
|
|
|
|
|
// c.RoutePrefix = "apidoc";
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.UseMiddleware<MytMiddleware>();//管道
|
|
|
|
|
app.UseRouting();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DefaultFilesOptions defaultFiles = new DefaultFilesOptions();
|
|
|
|
|
defaultFiles.DefaultFileNames.Clear();
|
|
|
|
@ -145,7 +150,8 @@ namespace djyweb_djyPaasApi
|
|
|
|
|
app.UseDefaultFiles(defaultFiles);
|
|
|
|
|
|
|
|
|
|
app.UseStaticFiles();
|
|
|
|
|
app.UseCors(builder => {
|
|
|
|
|
app.UseCors(builder =>
|
|
|
|
|
{
|
|
|
|
|
builder.AllowAnyHeader();
|
|
|
|
|
builder.AllowAnyMethod();
|
|
|
|
|
//builder.WithOrigins("http://www.baidu.com");//跨域配置
|
|
|
|
@ -154,32 +160,33 @@ namespace djyweb_djyPaasApi
|
|
|
|
|
app.UseAuthentication();//认证
|
|
|
|
|
app.UseAuthorization();//授权
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.UseHangfireDashboard("/job", new DashboardOptions() { Authorization = new[] { new HangFireAuthorizeFilter() } });
|
|
|
|
|
|
|
|
|
|
app.UseEndpoints(endpoints =>
|
|
|
|
|
{
|
|
|
|
|
endpoints.MapControllers();
|
|
|
|
|
app.UseHangfireDashboard("/job", new DashboardOptions() { Authorization = new[] { new HangFireAuthorizeFilter() } });
|
|
|
|
|
|
|
|
|
|
app.UseEndpoints(endpoints =>
|
|
|
|
|
{
|
|
|
|
|
endpoints.MapControllers();
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//启动运行启动
|
|
|
|
|
_Job(env);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 启动任务请求
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void _Job(IWebHostEnvironment env) {
|
|
|
|
|
private void _Job(IWebHostEnvironment env)
|
|
|
|
|
{
|
|
|
|
|
//初始化数据字典
|
|
|
|
|
var _itool = IOC.AddServer<IToolsService>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_itool.bindConfigDict(true, 5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_itool.AutoJob();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_itool.AutoJob();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|