Ejemplo n.º 1
0
        /// <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);

            try
            {
                BiliCookie biliBiliCookie = di.GetRequiredService <BiliCookie>();

                IDailyTaskAppService dailyTask = di.GetRequiredService <IDailyTaskAppService>();

                dailyTask.DoDailyTask();
            }
            catch (Exception ex)
            {
                logger.LogError("程序异常终止,原因:{msg}", ex.Message);
                throw;
                //Environment.Exit(1);
            }
            finally
            {
                logger.LogInformation("开始推送");
            }
        }
Ejemplo n.º 2
0
        public Task StartAsync(CancellationToken cancellationToken)
        {
            var logger = _logger;

            LogAppInfo(logger);

            try
            {
                BiliCookie biliBiliCookie = _biliBiliCookie;

                IDailyTaskAppService dailyTask = _dailyTaskAppService;

                dailyTask.DoDailyTask();
            }
            catch (Exception ex)
            {
                logger.LogError("程序异常终止,原因:{msg}", ex.Message);
                throw;
                //Environment.Exit(1);
            }
            finally
            {
                logger.LogInformation("开始推送");

                if (Global.ConfigurationRoot["CloseConsoleWhenEnd"] == "1")
                {
                    _logger.LogInformation("正在自动关闭应用...");
                    _applicationLifetime.StopApplication();
                }
            }
            return(Task.CompletedTask);
        }
Ejemplo n.º 3
0
        /// <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("开始推送");
            }
        }
Ejemplo n.º 4
0
        /// <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();
                }
            }
        }
Ejemplo n.º 5
0
        /// <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();
            }
        }
Ejemplo n.º 6
0
 public BiliBiliToolHostedService(
     IHostApplicationLifetime applicationLifetime
     , ILogger <BiliBiliToolHostedService> logger
     , BiliCookie biliBiliCookie
     , IDailyTaskAppService dailyTaskAppService
     )
 {
     _applicationLifetime = applicationLifetime;
     _logger              = logger;
     _biliBiliCookie      = biliBiliCookie;
     _dailyTaskAppService = dailyTaskAppService;
 }
Ejemplo n.º 7
0
        /// <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();
        }