Здравствуйте всем!
начну с начала... возникла необходимость отслеживать все сессии в приложении не спрашивайте почему, надо

соответственно стандартного енумератора не предусмотренно для таких делов вроде да еще и инфу надо дополнительную хранить о сессии когда стартанула и т.д. был выбран способ создания структуры описания сессии и хранения ее в 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() не запись значений не работает...
Люди подскажите куда копать!