我有一個方法,必須每5分鐘運行一次,以顯示gridview中的最新數據。System.Timers.Timer每5分鐘不工作
我與System.Timers.Timer試驗和下面是我的代碼:
protected void Page_Load(object sender, EventArgs e)
{
try
{
lblError.Text = "";
t = new System.Timers.Timer(300000);//every 5min = 300000
t.Enabled = true;
t.Elapsed += new ElapsedEventHandler(t_Elapsed);
if (!Page.IsPostBack)
{
//t = new System.Timers.Timer(300000);//every 5min = 300000
//t.Enabled = true;
//t.Elapsed += new ElapsedEventHandler(t_Elapsed);
floor = ddFloors.SelectedValue.ToString();
GenerateStatus();
}
}
catch (Exception ex)
{
lblError.Text = ex.Message;
}
}
void t_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
//Response.Redirect("Home.aspx");
floor = ddFloors.SelectedValue.ToString();
GenerateStatus();
}
catch (Exception ex)
{
lblError.Text = ex.Message;
}
}
問題是,5分鐘後不會t_Elapsed。請注意,這應該在任何時候都不停地進行,而不僅僅是一次。有什麼幫助嗎?
這是一個有點偏離的主題,但是有沒有什麼原因爲什麼你不使用緩存非滑動到期執行此操作。它會提供類似的效果,可能會降低您的點擊次數,因爲如果有人提出內容請求,它只會更新緩存。 – Zachary 2010-11-16 14:26:42