Re: Почему теряется сессия в веб-сервисе?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 03.05.11 06:04
Оценка:
Здравствуйте, objMihail, Вы писали:

M>Есть служба:

M>
M>public class WebService : System.Web.Services.WebService
M>{
M>    [WebMethod(EnableSession = true)]
M>    public void Method1()
M>    {
M>        Session.Add("value", "Test");
M>    }
    
M>    [WebMethod(EnableSession = true)]
M>    public void Method2()
M>    {
M>        if (Session.Count == 0) throw new Exception();
M>    }
M>}
M>


M>Я её вызываю из net-приложения — через автоматически созданную студией обёртку, наследующую System.ServiceModel.ClientBase.

M>В начале вызываю один метод, а потом второй. И второй бросает исключение — сессия не запоминается.

M>Причём если пользоваться службой через браузер — то всё нормально, сессия запоминается.


M>Пробовал шаманить с CookieContainer, но у System.ServiceModel.ClientBase нет такого свойства, присваивать его некуда, а чего ещё можно придумать — без понятия, подскажите, куда копать. Судя по всему проблема в том, что служба думает, что к ней каждый раз новый клиент подсоединяется, а как ей дать понять, что он не новый?


M>В конфиге службы прописал следующее, но это не помогло:

M>

M> <sessionState mode="InProc"
M> stateConnectionString="tcpip=127.0.0.1:42424"
M> sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
M> cookieless="false"
M> timeout="20"/>



allowCookies="true" в конфиге и все.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.