Threading.Tasks 简单的使用

using Lemon.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Timers;
using System.Web;

namespace Lemon.Stats.Web.Service
{
    public class SynchCacheDataService
    {
        /// <summary>
        /// 定时器
        /// </summary>
        private static System.Timers.Timer TimerOne;

        public static void StartService()
        {
            TimerOne = new System.Timers.Timer();
            TimerOne.Interval = 1000;   //1分钟执行一次(毫秒单位)
            TimerOne.Elapsed += new ElapsedEventHandler(TimeUpdateDataTimer_Elapsed);
            TimerOne.Enabled = true;
        }

        /// <summary>
        /// 定时器执行事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void TimeUpdateDataTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            SynchCacheData();
        }

        /// <summary>
        /// 同步缓存数据事件
        /// </summary>
        /// <returns></returns>
        public static Task<int> SynchCacheData()
        {
            return Task.Run(() =>
            {
                return SyncHelper.SyncCacheData();
            }); 
        }
    }
}

调用方式:

using Lemon.Stats.Web.Service;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Security;
using System.Web.SessionState;

namespace Lemon.Stats.Web
{
    public class Global : System.Web.HttpApplication
    {
        protected void Application_Start(object sender, EventArgs e)
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
            GlobalConfiguration.Configure(FormatConfig.Register);

            //启动同步缓存数据
            SynchCacheDataService.StartService();
        }

        protected void Session_Start(object sender, EventArgs e)
        {

        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {

        }

        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {

        }

        protected void Application_Error(object sender, EventArgs e)
        {

        }

        protected void Session_End(object sender, EventArgs e)
        {

        }

        protected void Application_End(object sender, EventArgs e)
        {

        }
    }
}
原文地址:https://www.cnblogs.com/zoro-zero/p/6066627.html