zoukankan      html  css  js  c++  java
  • MVC 定时执行任务

    环境:.net4.5

    需求:需要一个方法定时执行任务

    解决: System.Threading.Timer 提供以指定的时间间隔执行方法的机制。 此类不能被继承,有10多种实例化方法,满足多种情况.

    步骤:委托方法,注册执行

    1.代码主体
     public class CensusdemoTask
        {
            System.Threading.Timer timer;
            private static int count = 1;
    
            public CensusdemoTask()
            {
                timer = new System.Threading.Timer(SetCensusURL, null, 0, 1000 * 60);
            }
            [MethodImpl(MethodImplOptions.Synchronized)]
            public void SetCensusURL(object obj)
            { 
                string txt = string.Format("写入时间:{0},次数{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), count);
                FileInfo f = new FileInfo("/124.txt");
                StreamWriter sw = File.Exists("/124.txt") ? f.CreateText() : f.AppendText();
                byte[] txtbytes = Encoding.UTF8.GetBytes(txt);
                sw.WriteLine(txt);
                sw.Flush();
                sw.Close();
                count++;
            }
        }

    2.注册 Global.asax.cs

     protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
               //注册,
                BLL.SystemTask.CensusUrlTask t = new BLL.SystemTask.CensusUrlTask();
               
               WebApiConfig.Register(GlobalConfiguration.Configuration);
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);
              
               // DependencyResolver.SetResolver(new NinjectDependencyResolver());
                //ControllerBuilder.Current.SetControllerFactory(new NinjectDependencyResolver());
            }
  • 相关阅读:
    一些数学证明
    重头再来
    二次函数传参
    神经网络
    准备写点随笔了
    如何做出响应式的页面 (转)
    自适应,响应式,viewport总结
    edm邮件制作规范
    博客园blog模板整理
    git 常用的命令
  • 原文地址:https://www.cnblogs.com/Fyhong/p/3594150.html
Copyright © 2011-2022 走看看