我要做一个彩票网站,我需要自动开奖  所以我想要做一个windows服务去抓取其他网站的开奖号码   因为他是10分钟跳一次,开一次奖的 我想问一下 我应该怎么去用时间控制windows服务让他每10分钟  抓开一次奖?  希望知道的朋友给出比较详细的回答 O(∩_∩)O谢谢!!

解决方案 »

  1.   

    Timer定时执行
    HttpWebrequest抓取网页内容,再用正则根据html格式获取数据 
    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url); 
    request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"; 
    System.Net.WebResponse response = request.GetResponse(); 
    System.IO.Stream resStream = response.GetResponseStream(); 
    System.IO.StreamReader sr = new System.IO.StreamReader(resStream, encoding); 
    string html = sr.ReadToEnd(); 
    resStream.Close(); 
      

  2.   

    用System.Timers.Timer,长延时循环用Thread.Sleep很不规范也不合适...
      

  3.   


    恩  谢谢 抓取网页数据 我知道
    System.Timers.Timer timer = new System.Timers.Timer(1000);
    timer.Elapsed += new System.Timers.ElapsedEventHandler(this.timer_Elapsed);
    timer_Elapsed这是个时间  这样是不是就控制了 timer_Elapsed每间隔1秒中就要执行一次?
      

  4.   

    声明一个计时器timer,给他的Elapsed事件一个委托,大致代码如下timer = new Timer();
    timer.Interval = _TimerInterval;//给计时器轮循一个时间间隔
    this.timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
    timer.Start();void timer_Elapsed(object sender, ElapsedEventArgs e)
    {
    timer.Stop();                       //先停止计时器计时,免得打乱操作

    try
    {
    YourProcess();
    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    timer.Start();
    }
    }
      

  5.   

    System.Timers.Timer timer = new System.Timers.Timer(1000); 
    timer.Elapsed += new System.Timers.ElapsedEventHandler(this.timer_Elapsed); 
    timer_Elapsed这是个时间  这样是不是就控制了 timer_Elapsed每间隔1秒中就要执行一次?timer.Interval才是设置timer的时间间隔的
    timer.Elapsed += new System.Timers.ElapsedEventHandler(this.timer_Elapsed); 
    这是建事件委托的,意思是timer到点触发timer_Elapsed这个函数