Возможно ли управлять сеансами в веб-сервисах? если да, то как управлять сеансом в нем? это похоже на сеансы, которые мы поддерживаем в JSP или PHP? где будет храниться информация о сеансе, клиент или сервер?управление сеансом в веб-сервисах?
ответ
Это java или .net вопрос?
В .net вы можете легко использовать состояние сеанса на веб-сервиса хостинга сервера, установив EnableSession
параметр в WebMethod
атрибута, например:
[WebMethod(EnableSession = true)]
public bool Login(string login, string password)
{
// you can use session here so for example log in user
if(login = "administrator" && password = "secret")
Session["authorizedUser"] = login;
}
@ LukaszW.pl: это похоже на сеансы, которые мы поддерживаем в JSP или PHP? где будет храниться информация о сеансе, клиент или сервер? – brainless
Сессия всегда связана с сервером ... Это похоже на сеанс в PHP (я не знаю JSP) ... Общая информация - это уникальная для клиента таблица объектов, которая хранится на сервере, с которой вы можете легко получить доступ со своего веб-сайта C# приложение, на котором размещен веб-сервис. –
Поскольку веб-сервис - это обычное веб-приложение, которое обрабатывает запросы и ответы в формах, отличных от HTML, используются одни и те же механизмы управления сеансом. –
Возможно использование объекта Session
в .NET внутри веб-службы ... однако я бы сказал, что это плохая практика. Обычно веб-служба не передает данные таким образом, и данные в службе не сохраняются между вызовами.
Как работает сессия в веб-сервисе? любой образец кода доступен? – brainless
'Сессия' в webservices работает так же, как на любых страницах aspx. Вы можете помещать объекты в таблицу сеансов и извлекать их оттуда. Также вы можете использовать механизмы, основанные на сеансах, такие как «FormsAuthentication» и т. Д. –
Here является статья о WS-ReliableMessaging, который поддерживает сессии, и поддерживается как для разработки java, так и для .net.
Я уверен ... вам нужно пересмотреть этот подход. Если вы знакомы с веб-службами в .net, вам будет известно, что вы «никогда, никогда» не используете в них 'Session'. – Achilles