Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Web-сервесы и состояние сеанса


Автор: NET_or_not_NET 26.6.2007, 15:22
Доброго всем дня!

Решил начинать разьираться с Web-сервисами, и сразу возникла проблема....

есть два метода в сервесе:
Код

[WebMethod(EnableSession = true)]
public string Str1()
{
    Session["S1"] = "test";
    return Session["S1"].ToString();
}

[WebMethod(EnableSession = true)]
public string Str2()
{
    Session["S1"] = Session["S1"] + "!!!";
    return Session["S1"].ToString();
}


когда запушкаешь в IIS все хорошо: 
после инвока Str1() возвращает xml с текстом "test",
затем делаю инвок Str2() возвращает xml с текстом "test!!!"

а проблема в следующем пишу консольное приложение:
Код

           WebReference.Service s = new ConsoleTEST.WebReference.Service();
           Console.WriteLine(s.Str1());
           Console.WriteLine(s.Str2());           


получаю: "test" и "!!!" т.е. не сохранил  Session["S1"] !
почему? 
Народ, помогите разобраться, или скажите где прочитать....

Автор: catlion 28.6.2007, 02:53
Веб-сервисы в дотнет 2 не сохраняют состояние. Каждый запрос обрабатывается отдельным экземпляром, после чего он выгружается.

Если вам сильно нужны веб-сервисы с состоянием, ковыряйте WCF.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)