在global.asax中啓動定時任務

    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            //初始化autofac
            AutofacConfig.RegisterServices();

            //新開一個線程輪訓登陸API
 PollingLoginService.Login();
        }
    }
    /// <summary>
    /// 輪詢調用登陸接口
    /// 建立人:
    /// 建立時間:2019/3/11 15:51:06 
    /// </summary>
    public class PollingLoginService
    {
        /// <summary>
        /// 登陸,每24小時輪詢一次
        /// </summary>
        public static void Login()
        {
            Task.Run(() =>
            {
                LoginModel loginModel = new LoginModel {
                    UserName = ConfigProvider.ApiLoginUserName,
                    Password = ConfigProvider.ApiLoginPassword
                };
                IApiLoginService apiLoginService = new ApiLoginService();

                while (true)
                {
                    var token = apiLoginService.Login(loginModel);
                    ConfigProvider.LoginToken = token;

                    Thread.Sleep(ConfigProvider.PollingLoginTime);
                }
            });
        }
    }

很簡單,在項目啓動時,新開一個線程來處理這件事情。在任務裏面循環去作。api

相關文章
相關標籤/搜索