如何在WebAPI中每5分钟发送一次数据

时间:2015-09-29 04:33:23

标签: asp.net-web-api

我有一个项目WebAPI,我想每隔5分钟左右向客户提供一次数据:

using System;
using System.Web.Http;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

namespace MyWebApi.Controllers
{
    public class EventController : ApiController
    {
        public string Get()
        {
            var id = Guid.NewGuid();
            string result = JsonConvert.SerializeObject(id, new IsoDateTimeConverter());
            return result;
        }

    }
}

1 个答案:

答案 0 :(得分:-1)

为什么不使用C#计时器。您可以创建一个静态对象,并设置时间间隔为5分钟。 这是我从http://www.dotnetperls.com/timer

得到的一个例子
public static class TimerExample
{

    static Timer _timer;
    static List<DateTime> _l;
    public static List<DateTime> DateList
    {
        get
        {
            if (_l == null)
            {
                Start(); // Start the timer
            }
            return _l;
        }
    }
    static void Start()
    {
        _l = new List<DateTime>();
        _timer = new Timer(300000); // Set up the timer for 5 mins

        _timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
        _timer.Enabled = true; 
    }
    static void _timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        // Add event here
    }
}