2013-06-05 3 views
1

Я храню таймер и массив в сеансе asp.net. Я хочу добавить значение к массиву для каждого тика таймера. Возможно ли обработать событие тикового таймера, когда оно хранится в сеансе?Возможно ли обработать событие таймера, когда оно хранится в сеансе?

Что я хочу

Timer tm = new Timer() ; 
tm.TickEvent += TickEvent.... 
ArrayList[] arr = new ArrayList() 
Session["A"] = arr ; 
Session["B"] = tm ; 

Void Timer_TickEvent (.. , ..) 
{ 
ArrayList arr = Session["A"] as ArrayList ; 
arr .Add ("VALUE >>> > ") 
} 
+1

Что вы пытаетесь сделать? Дайте некоторые детали. – fofik

+0

[Каждый таймер «Tick» вызывает PostBack] (http://msdn.microsoft.com/en-us/library/system.web.ui.timer (v = vs.100) .aspx). Он работает как любое другое событие PostBack и жизненного цикла, такое как нажатие кнопки. Состояние сеанса доступно во время PostBack. – user2246674

+0

Это не сработает: при срабатывании таймера, сеанс не будет доступен, потому что не существует «HttpContext». – Joe

ответ

0

При хранении массива в сеансе, его хорошо, и вам необходимо обновить сессию в каждом такте таймера при обновлении значения массива. Пример:

String[] arr=GetData(); // GetData return string of array 

Session["Response"]=arr; // Add arr in session. 

**In timer event** 

string[] arr=(string[])Session["Response"]; // casting 
arr.add("value"); // array updating 
Session["Response"]=arr; // stored in session 
+0

Это не то, что я хочу, но спасибо за ваш ответ –

+0

Это не то, что я хочу, потому что я хочу хранить Таймер и Arraylist как в сессии. Вы просто скажите мне сохранить Array в сеансе, но не таймер. Поэтому я боюсь, что это не то, что я хочу. –

+0

Что действительно нужно с таймером хранения в сеансе ..? –

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