2016-06-09 2 views
1

Я создал один таймер. После вызова таймера мне нужно перенаправить на другую страницу.Как получить доступ к HttpContext.Current в другом потоке

Пожалуйста, помогите мне.

Мой код:

System.Timers.Timer myTimerfortodolist; 
void Application_Start(object sender, EventArgs e) 
{ 

    myTimerfortodolist = new System.Timers.Timer(); 
    myTimerfortodolist.Interval = 60000;//86400000 milisecond is equal to 24; 
    myTimerfortodolist.AutoReset = true; 
    myTimerfortodolist.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_TODO); 
    myTimerfortodolist.Enabled = true; 

} 


//create for check send Interval from Reminder Config within 5 minute 
public void myTimer_TODO(object source, System.Timers.ElapsedEventArgs e) 
{ 
     if (//Condition//) 
     { 
      Response.Redirect("~/Authorize.aspx"); 
     } 

} 

Ответ не доступен в этом контексте.

Я Перенаправление от страницы к другой и таймер работает на каждые 1 мин, так что я смог Текущий HttpContext в методе делегата

+0

TRY 'HttpContext.Current.Response'. Также не уверен, что в 'Application_Start' вы можете получить' Context'. Посмотрите на [эта ссылка] (http://stackoverflow.com/questions/2518057/request-is-not-available-in-this-context) –

+0

HttpContext.Current, имеющий нулевое значение в потоке myTimer_TODO –

+0

Невозможно прокомментировать , Вот ответ -> http://stackoverflow.com/a/9977501 –

ответ

1

Почему положить столько усилий .. если у вас есть простое решение для этого .. Используйте Thread.sleep()

void Application_Start(object sender, EventArgs e) 
{ 
    System.Threading.Thread.Sleep(60000);//86400000 milisecond is equal to 24; 
    Response.Redirect("~/Authorize.aspx"); 
} 

Edit: ответ будет нулевым, поскольку HttpContext равно нулю, что time.Why? Потому что, когда вы создаете и устанавливаете таймер, обработка потока по-прежнему остается на сервере для обработки вашего кода ... но к тому времени сервер уже обработал httprequestcontext и ответил обратно. Поэтому больше нет запросов и ответов или сеанса ... они создаются только тогда, когда серверу пришлось обработать вызов HttpRequest ...

+0

Спасибо @Moumit за комментарий. Но я делаю некоторые вещи после этого, я хочу перенаправить на следующую страницу –

+0

@ArvindAgrahari .. пожалуйста, проверьте обновление .. – Moumit

+0

@ArvindAgrahari ..если я не понял, в чем цель. – Moumit

Смежные вопросы