Сессии... Профи подскажите!
От: Bakset  
Дата: 12.09.05 07:07
Оценка:
Здравствуйте всем!
начну с начала... возникла необходимость отслеживать все сессии в приложении не спрашивайте почему, надо соответственно стандартного енумератора не предусмотренно для таких делов вроде да еще и инфу надо дополнительную хранить о сессии когда стартанула и т.д. был выбран способ создания структуры описания сессии и хранения ее в ArrayList а его в свою очередь в application...

public struct UserSession
{
public string host,login,password,session_id;
public TimeSpan start_time,last_time;
public HttpSessionState session_link;
}

при старте создаем описанную структуру ставим session_link=Session тоесть сохраняем ссылку на сессию и добавляем в ArrayList
public static bool SessionListAdd(HttpSessionState session)
{
if (!SessionListExist(session.SessionID))
{
UserSession UsSess = new UserSession();
UsSess.session_id=session.SessionID;
UsSess.start_time=DateTime.Now.TimeOfDay;
HttpSessionState session_link=session;
UsSess.session_link=session;
ArrList.Add(UsSess);
return true;
}
return false;
}

когда из сессии пытаюсь получить ссылку на другую сессию то вроде как все ок ошибок нет в watch даже показывается что все передалось... но не изменять не читать из нее не могу... как быдто в пустоту все уходит...
вот код получения сессии по SessionID
public static HttpSessionState SessionListGet(string session)
{
if (SessionListExist(session)) //просто ф-я проверки есть ли сессия в списке
{
for (int i=0;i<ArrList.Count;i++)
{
if (((UserSession)ArrList[i]).session_id==session)
{
HttpSessionState ses=((UserSession)ArrList[i]).session_link;
return ses;
}
}
}
return null;

}

так вот по идее все должно работать... ан нет нифига... не Abandon() не запись значений не работает...
Люди подскажите куда копать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.