在WebService中使用Timer事件

在WebService開發時,有時需要做輪詢操作,可以使用Timer ,注意是System.Timers.Timer,且事件的觸發必須是經過一次WebService調用後。

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

using System.IO;

[WebService(Namespace 
= "http://tempuri.org/")]
[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    
public Service () {

        
//如果使用設計的組件,請取消註釋以下行 
        InitializeComponent(); 
    }

    
private System.Timers.Timer timer1;
    
private System.ComponentModel.IContainer components;

    
private void InitializeComponent()
    {
        
this.components = new System.ComponentModel.Container();
        
this.timer1 = new System.Timers.Timer();
        
// 
        
// timer1
        
// 
        this.timer1.Enabled = true;
        
this.timer1.Interval = 1000;
        
this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
    }

    
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        
using (StreamWriter sw = new StreamWriter(Server.MapPath(".")+"/TextFile.txt"))
        {
            sw.WriteLine(DateTime.Now);
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章