2009-07-09 3 views
0

ASP.NET의 페이지에 타이머가 있습니다.Timer.Tick 이벤트의 로컬 정적 변수 (타이머 멈춤)

일정한 시간이 지난 후에 타이머를 비활성화하고 싶습니다.

얼마나 많은 초가 경과했는지 추적 할 타이머 틱 이벤트에 정적 변수를 넣고 싶습니다.

내 질문은 이것이 효과가 있습니까?

사용자 X와 Y가 페이지를보고 있다면 둘 다 별도의 로컬 정적 변수가 있습니까?

특정 경과 시간 후에 ASP.NET 타이머를 종료하는 가장 좋은 방법은 무엇입니까?

답변

1

아니요, 작동하지 않습니다. VB.Net의 Static은 클래스 수준에서 숨겨진 공유 변수를 스레드로부터 안전한 방식으로 숨기는 통 신당입니다. 공유 클래스 변수는 에 대해 모두 명의 사용자가 한꺼번에 공유하기 때문에 원하는대로 작동하지 않습니다.

대신 datetime 필드를 세션에 저장하고 확인하십시오. 또한 타이머 자체가 클라이언트에서 실행되고 있음을 기억하십시오 (아약스 타이머 컨트롤을 사용한다고 가정). 따라서 Tick 이벤트가 실행될 때와 같이 서버 이벤트 중에는이를 비활성화하는 유일한 방법이 있습니다.