У меня есть метод, который должен запускаться каждые 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;
}
}
проблема заключается в том, что после того, как 5minutes она не собирается t_Elapsed. Обратите внимание, что это должно постоянно выполняться не только раз. любая помощь PLS?
Это немного не по теме, но есть ли причина, по которой ваш не использующий кеш с немедленным истечением срока действия для выполнения этой операции. Это обеспечит аналогичный эффект и, возможно, уменьшит ваши хиты, поскольку он будет обновлять кеш, только если кто-то сделает запрос на контент. – Zachary