2017-01-19 3 views
2

У меня есть устаревшая веб-служба ASP.NET на моем компьютере. Служба имеет эту аннотацию:Элемент SessionState Collection исчезает при вызове с рабочего клиента

[WebMethod(EnableSession = true)] 

на нескольких методов и использует свойство Session, чтобы сохранить некоторую информацию:

Session[CONSTANT] = some_value; 

Это значение сохраняется, когда я звоню различные методы веб-службы один за другим браузер (как Chrome, так и Internet Explorer), но НЕ, когда я вызываю методы службы из прокси, созданного в Powershell или Visual Studio. Должен ли я устанавливать некоторые параметры на клиенте для сохранения сеанса?

На другом компьютере установлена ​​такая же служба, и там значение, хранящееся в сеансе, НЕ сохраняется между вызовами методов, даже в браузерах. Нужно ли мне затем менять некоторые параметры на веб-сервере в этом случае?

В обоих случаях веб-служба размещается в IIS.

+0

сеанса ASP.NET использует куки-файлы. Вы должны убедиться, что файлы cookie сохраняются на протяжении всего пути, в браузерах (чаще всего это должно быть автоматически, как вы заметили), а также в прокси. –

+0

как я могу убедиться? некоторые подсказки по настройкам? – Greg

+0

сложно сказать без какого-либо воспроизводимого кода –

ответ

1

Следующие сделал работу для меня:

  1. добавить устаревший веб-ссылку вместо ссылки на службу.
  2. с использованием SoapClient.CookieContainer как в Implementing session in SOAP Client