65 lines
1.8 KiB
C#
65 lines
1.8 KiB
C#
using Furion;
|
|
using Furion.Schedule;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
using Yi.Framework.Infrastructure.Data.Json;
|
|
using Yi.Furion.Application.Rbac.Job;
|
|
using Yi.Furion.Application.Rbac.SignalRHub;
|
|
using Yi.Furion.Web.Core.Handlers;
|
|
|
|
namespace Yi.Furion.Web.Core;
|
|
|
|
public class Startup : AppStartup
|
|
{
|
|
public void ConfigureServices(IServiceCollection services)
|
|
{
|
|
services.AddConsoleFormatter();
|
|
services.AddJwt<JwtHandler>();
|
|
|
|
services.AddCorsAccessor();
|
|
|
|
services.AddControllers().AddInjectWithUnifyResult().AddJsonOptions(x => {
|
|
//x.JsonSerializerOptions.Converters.Add(new DateTimeJsonConverter("yyyy-MM-dd HH:mm:ss"));
|
|
x.JsonSerializerOptions.Converters.Add(new LongToStringConverter());
|
|
});
|
|
|
|
services.AddEventBus();
|
|
|
|
services.AddHttpContextAccessor();
|
|
services.AddSignalR();
|
|
|
|
services.AddSchedule(options =>
|
|
{
|
|
// 注册作业,并配置作业触发器
|
|
//options.AddJob<SystemDataJob>(Triggers.Daily()); // 表示每秒执行
|
|
options.AddJob<SystemDataJob>(Triggers.Cron("0 0 0,12 ? * ?")); // 表示每秒执行
|
|
});
|
|
}
|
|
|
|
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
{
|
|
if (env.IsDevelopment())
|
|
{
|
|
app.UseDeveloperExceptionPage();
|
|
}
|
|
|
|
app.UseHttpsRedirection();
|
|
|
|
app.UseRouting();
|
|
|
|
app.UseCorsAccessor();
|
|
|
|
app.UseAuthentication();
|
|
app.UseAuthorization();
|
|
|
|
app.UseInject(string.Empty);
|
|
app.UseEndpoints(endpoints =>
|
|
{
|
|
endpoints.MapHub<OnlineUserHub>("/api/hub/main");
|
|
endpoints.MapControllers();
|
|
});
|
|
}
|
|
}
|