Здравствуйте, sheich, Вы писали:
А>>Сразу не обратил внимание что у вас WCF-сервис. Насколько я знаю из WCF-сервиса не получится обратиться к ASP.Net сессии.
S>Это только к WCF относится? Что насчет .asmx сервисов?
S>Кстати, у WCF есть какие то свои сессии, задающиеся таким образом: S>
Далее, мне нужно из некоторого другого класса, который описывается в отдельном файле узнать содержимое этой переменной сессии.
такой:
string s = (string)Session["login"];
и такой:
string s = (string)System.Web.HttpContext.Session["login"];
способы приводят к ошибке NullReferenceException
при этом ссылка на модуль System.Web в заголовках присутствует.
Попытался сделать следующее:
В коде серверной части моей .aspx страницы (CodeFile который) создаю еще один класс (в добавок к тому, который включает метод Page_Load и который указан в "Inherits" клиентской части страницы):
public class Test
{
public string SessionLogin()
{
return (string)HttpContext.Current.Session["login"];
}
}
Теперь, по идее, при создании объекта класс Test я могу обратиться к его свойству SessionLogin и узнать, таким образом, текущее значение сессии "login". Так вот, в чем загвоздка: если я пишу:
string s = new Test().SessionLogin();
в теле главного класса самой страницы — это срабатывает, значение переменной сессии я вижу.
Когда же я перехожу на страницу, не являющуюся веб-формой и которая взаимодействует с веб-сервером (а тот, в свою очередь с БД) через AJAX -> WCF сервис и в момент вот этого обращения страницы через AJAX в классе, выполняющим соединение с БД пытаюсь вызвать тот же самый метод класса Test — опять получаю исключение NullReferenceException (в строке HttpContext.Current.Session["login"]). Хотя вот эта переменная сессии точно уже существует на тот момент, потому что я это проверил на предыдущей странице.
Вопрос: как сделать так, что бы сессия была видна за пределами Page?
Re: Обращение к сессии из класса, не являющимся Page
сразу все заработало
теперь, когда этот вариант заработал, мне надо решить другое: что будет работать быстрее:
сессии в режиме совместимости или cookies?
Re[9]: Обращение к сессии из класса, не являющимся Page