2010-12-08 5 views
0

와 타이머가 난ASP : 스레딩

<asp:Timer ID="timUpdate" runat="server" Enabled="false" Interval="5000" OnTick="timUpdate_Tick"/> 

로 내 aspx 페이지에 타이머를 가지고 있고 문서의 단어 수를 계산하는 페이지에서 다른 스레드를 실행합니다. 개별 페이지에 대한 각 스레드.

페이지로드시 내 타이머가 시작됩니다. 먼저 틱을 위해 잘 작동하고 이벤트를 발생시킵니다

protected void timUpdate_Tick(object sender, EventArgs e) 
{ 
    if(db.value()==true) 
     Response.Redirect("abc.aspx"); 
    } 

내가 디버깅 중에 잘 작동하는지 확인했지만 내 타이머가 활성화되어 있는지 후, 간격은 동일하지만 그것은 event.what이 될 수 발생하지 않습니다 가능한 문제

답변

0

aspx에서 Enable = false를 설정하고 있으므로 코드에서 사용하도록 설정했습니다. poststate를 비활성화 한 경우 포스트 백 이후에 속성이 지속되지 않을 가능성이 있습니다. 이것은 좋은 해결책이 아니다

protected void timUpdate_Tick(object sender, EventArgs e) 
{ 
    timUpdate.Enabled= true; 
    if (db.value()==true) 
     Response.Redirect("abc.aspx"); 
} 

,하지만 작동 할 수 있습니다 :

당신은 당신의 방법에 Enabled 속성을 다시 사용하여 확인할 수 있습니다. 컨트롤 상태를 지속 시키거나 각 페이지 요청시 타이머를 활성화해야합니다 (필요한 조건이 충족되는 경우).