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