Beispiel #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);

            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("开始推送");
            }
        }
Beispiel #2
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();
            }
        }
Beispiel #3
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();
                }
            }
        }
Beispiel #4
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();
        }