2013-11-23 2 views
1

Я новичок в asp.net. Im разрабатывает приложение с веб-браузером, которое должно помешать пользователю, если он попытается войти в систему три раза с неправильным паролем.Как активировать таймер?

Я отключу кнопку входа в систему в течение 10 минут, после чего я включу ее.

это интерфейс

enter image description here

и это код таймера

protected void timer1_tick(object sender, EventArgs e) 
{ 
    timer--; 
    if (timer == 0) 
    { 
     Button1.Enabled = true; 
     Timer1.Enabled = false; 
     Label1.Visible = false; 
    } 
} 

но при запуске приложения, через 10 минут он обновите страницу без включения кнопки входа

+2

почему вы называете свой логин 'button1' и не' login_button'? Кроме того, для тестирования вы должны, вероятно, изменить счет до 15 секунд или около того. – Noctis

+1

Я не эксперт в веб-приложениях. Как вы запретите пользователю вводить новую страницу входа? Я думаю, кнопка будет включена. –

+0

не беспокойтесь об именах. Я буду реорганизовывать весь код, но теперь я спрашиваю о логике. Спасибо –

ответ

2

Если вы используете System.Tmers.Timer, просто позвоните:

Timer1.Start(); 

Если вы используете System.Threading.Timer, тогда это должно начаться немедленно. Третий аргумент в конструкторе - это dueTime, который равен:

Время, затрачиваемое на отсрочку перед обратным вызовом, вызывается в миллисекундах. Укажите Timeout.Infinite, чтобы предотвратить запуск таймера. Укажите нуль (0), чтобы немедленно запустить таймер.

Source

Так что, если это ненулевой таймер обыкновения огня в первый раз, пока после как dueTime и period прошло. Так что, если у вас есть:

var timer1 = new Timer(callback, state, 10000, 10000); 

Первый раз, когда это будет происходить, произойдет через 20 секунд, после чего он будет срабатывать каждые 10 секунд после этого. Если вы хотите, чтобы стрелять через каждые 10 секунд, то вам необходимо указать 0 в качестве dueTime:

var timer1 = new Timer(callback, state, 0, 10000); 
Смежные вопросы