記得很早之前,一個同事要寫一個定時任務,先要在一條新聞在到達設定期限時 由程式自動刪除
可以一直沒有思路 問我 我也沒有好的辦法
後來,我在前段時間找到一個 方法:http://www.cnblogs.com/ucetgg/archive/2009/02/11/1388481.html
也不太好,也有個高人回複了 給我指明了思路,用Windows Service ,可我沒有寫過
後來 看到一篇文章:http://www.cnblogs.com/lovecherry/archive/2005/03/25/125527.html
用Windows Service 作為關鍵詞 搜了搜部落格園 有很多人已經做過
步驟我就不詳細說了 ,帖My Code出來吧:
Code
namespace WindowsService
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
/// <summary>
/// 開始
/// </summary>
/// <param name="args"></param>
protected override void OnStart(string[] args)
{
//Thread t = new Thread(new ThreadStart(Run));
//t.Start();
timer1.Enabled = true;
execTask();
}
/// <summary>
/// 結束
/// </summary>
protected override void OnStop()
{
timer1.Enabled = false;
}
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Thread t = new Thread(new ThreadStart(execTask));
t.Start();
}
/// <summary>
/// 執行任務
/// </summary>
private void execTask()
{
string strSql = "insert into WebSite_CMSContent (Title,body) values('tt','xx')";
DbHelperSQL.ExecuteSql(strSql);
}
}
}
注意:
1.Timer控制項 一定要是 System.Timers.Timer 類型
2. InstallUtil.exe 一定要對應framework 的版本,比如f ramework 2.0的程式 1.1版本下的InstallUtil工具就不行
3.預設情況下 服務是不自動啟動的,需要安裝成功後手動 啟動