Hangfire 指定redis db

master
wanghaomei 3 years ago
parent e7baaabadf
commit 919a8412e5

@ -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();
}
}
}

Loading…
Cancel
Save