MaReBo Ответов: 0

Как получить уникальный идентификатор сеанса от веб-сервиса?


Привет,
Нужна некоторая помощь с сессионированием-проблема в веб-сервисе: я создал веб-сервис (VB.NET - asmx.project, опубликованный через IIS), а также веб-клиент (также VB.NET - asp-проект, сервис-ссылка, добавленная в проект). Веб-клиент успешно запрашивает веб-сервис как в режиме отладки,так и в режиме выполнения. Текущая задача состоит в том, чтобы включить какой-то пул сеансов, то есть веб-сервис должен знать уникальный идентификатор сеанса каждого сеанса, запрашивающего его (использование файлов Cookie включено в IIS).
Забавный эффект здесь заключается в следующем: всякий раз, когда веб-сервис работает в режиме отладки, все работает нормально: либо браузерные запросы, либо запросы asp-клиента передают свой уникальный идентификатор сеанса. Проблема начинается при запросе веб-сервиса в режиме выполнения, то есть как IIS-web-Service: каждый запрос создает новый идентификатор сеанса. В global.asax web-сервис ссылается на httpContext-объект для его инициализации (подсказка из net-research), но это не решило проблему.
Поскольку я не очень хорошо знаком со всеми веб-технологиями, некоторые советы были бы полезны

Что я уже пробовал:

- Добавлена ссылка в глобальной.asax, чтобы инициализировать свойство HttpContext объект
- В IIS (Internet Information Service) установите некоторые настройки сеанса:
В процессе работы используйте файлы cookie

F-ES Sitecore

Если вы получаете новый сеанс с каждым запросом, это может означать, что вы не отправляете правильный файл cookie сеанса с вашим запросом, поэтому сайт думает, что вы новый посетитель, а не возвращающийся.

MaReBo

Привет, F-ES-Sitecore,
спасибо за ваш комментарий. Это, вероятно, может быть причиной такого поведения. Я не совсем уверен, какая сторона отвечает за создание и отправку as session-ID. Как я понимаю, клиент должен отправить свой идентификатор сеанса в файле Cookie веб-сервису. В клиентском исходном коде все, что я делаю,-это создаю instand ссылки на веб-сервис ("Dim myWeb as new localhost.метод mywebservice"), за которым следует запрос ("Дим sResponse как String = myWeb.Функции Testfunction ("Именем")"). Понятия не имею, где контролировать куки

0 Ответов