2010-11-01 2 views
1

Я пытаюсь выяснить проблему im, имеющую: У меня есть несколько вызовов одной и той же функции одновременно.Обмен сеансом между двумя запросами ASP.NET

private const string aaaa= "aaaaa"; 
    protected bool test() 
    { 

     if (Session[aaaa] != null && (bool)Session[aaaa]) 
      return false; 

      Session[aaaa] = true; 
      return true; 
    } 

Вещь - все мои просьбы игнорируют Session[aaaa] != null && (bool)Session[aaaa] и держать на, как если бы такая переменная сессии не была определена!

Как это может быть? Когда обновляется сессия?

+0

Где вы добавляете переменную сеанса 'aaaa', кроме вышеуказанного кода? – Oded

+0

Thats it. Просто там. Hey again Oded;) – Himberjack

+1

Или вы можете добавить статический член в свой класс. Этот член будет доступен по всему вашему приложению – Zuuum

ответ

1

вам нужно установить переменную сеанса, прежде чем вы можете использовать его ....

session.add("aaaa", "some string"); 

потом вы можете вернуться и сказать ...

string result = session["aaaa"].tostring(); 

Hopefuly это поможет

Protected void Page_Load(object sender, EventArgs e) 
    { 
     Session.Add("BoolTest", "False"); 
    } 

    Protected Bool test() 
    { 
      return (bool)Session["BoolTest"].tostring(); 
    } 

Результат; тест = ложь

какой-то момент в конце страницы вы бы сказать ...

Session["BoolTest"] = True; 

Результат; test = true

+0

Это похоже на сеанс [aaaa] = true, не так ли? – Himberjack

+0

хорошо ... если «aaaa» уже существует в сеансе ... если не он просто вернет null. session.add ("aaaa", "some string") используется для добавления этой начальной переменной сеанса в память. – Patrick

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