/// <summary> /// 开始运行 /// </summary> private static void StartRun() { using IServiceScope serviceScope = Global.ServiceProviderRoot.CreateScope(); IServiceProvider di = serviceScope.ServiceProvider; ILogger <Program> logger = di.GetRequiredService <ILogger <Program> >(); LogAppInfo(logger); BiliBiliCookieOptions biliBiliCookieOptions = di.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue; biliBiliCookieOptions.Check(logger);//todo:使用配置检查 IDailyTaskAppService dailyTask = di.GetRequiredService <IDailyTaskAppService>(); try { dailyTask.DoDailyTask(); } catch (Exception ex) { logger.LogError("程序异常终止,原因:{msg}", ex.Message); } finally { logger.LogInformation("开始推送"); } }
/// <summary> /// 开始运行 /// </summary> public static void StartRun() { using (var serviceScope = RayContainer.Root.CreateScope()) { var logger = serviceScope.ServiceProvider.GetRequiredService <ILogger <Program> >(); logger.LogInformation("版本号:{version}", typeof(Program).Assembly.GetCustomAttribute <AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? "未知"); logger.LogInformation("开源地址:{url} \r\n", Constants.SourceCodeUrl); BiliBiliCookieOptions biliBiliCookieOptions = serviceScope.ServiceProvider.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue; if (!biliBiliCookieOptions.Check(logger)) { throw new Exception($"请正确配置Cookie后再运行,配置方式见 {Constants.SourceCodeUrl}"); } IDailyTaskAppService dailyTask = serviceScope.ServiceProvider.GetRequiredService <IDailyTaskAppService>(); var pushService = serviceScope.ServiceProvider.GetRequiredService <PushService>(); try { dailyTask.DoDailyTask(); } catch { pushService.SendStringWriter(); throw; } pushService.SendStringWriter(); } }
/// <summary> /// 开始运行 /// </summary> public static void StartRun() { using (var serviceScope = RayContainer.Root.CreateScope()) { var logger = serviceScope.ServiceProvider.GetRequiredService <ILogger <Program> >(); BiliBiliCookieOptions biliBiliCookieOptions = serviceScope.ServiceProvider.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue; if (!biliBiliCookieOptions.Check(logger)) { throw new Exception("请正确配置Cookie后再运行,配置方式见 https://github.com/RayWangQvQ/BiliBiliTool"); } IDailyTaskAppService dailyTask = serviceScope.ServiceProvider.GetRequiredService <IDailyTaskAppService>(); var pushService = serviceScope.ServiceProvider.GetRequiredService <PushService>(); bool isPushed = false; try { dailyTask.DoDailyTask(); } catch { pushService.SendStringWriter(); isPushed = true; } if (!isPushed) { pushService.SendStringWriter(); } } }
/// <summary> /// 开始运行 /// </summary> public static void StartRun() { using IServiceScope serviceScope = RayContainer.Root.CreateScope(); //初始化DI相关的部分 IServiceProvider di = serviceScope.ServiceProvider; RayContainer.SetGetServiceFunc(type => di.GetService(type)); ILogger <Program> logger = di.GetRequiredService <ILogger <Program> >(); logger.LogInformation( "版本号:{version}", typeof(Program).Assembly.GetCustomAttribute <AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? "未知"); logger.LogInformation("开源地址:{url} \r\n", Constants.SourceCodeUrl); logger.LogInformation("当前环境:{env} \r\n", RayConfiguration.Env ?? "无"); BiliBiliCookieOptions biliBiliCookieOptions = di.GetRequiredService <IOptionsMonitor <BiliBiliCookieOptions> >().CurrentValue; if (!biliBiliCookieOptions.Check(logger)) { throw new Exception($"请正确配置Cookie后再运行,配置方式见 {Constants.SourceCodeUrl}"); } IDailyTaskAppService dailyTask = di.GetRequiredService <IDailyTaskAppService>(); PushService pushService = di.GetRequiredService <PushService>(); try { dailyTask.DoDailyTask(); } catch { pushService.SendStringWriter(); throw; } pushService.SendStringWriter(); }