2010-08-11 3 views
4

Возможно ли управлять сеансами в веб-сервисах? если да, то как управлять сеансом в нем? это похоже на сеансы, которые мы поддерживаем в JSP или PHP? где будет храниться информация о сеансе, клиент или сервер?управление сеансом в веб-сервисах?

+0

Я уверен ... вам нужно пересмотреть этот подход. Если вы знакомы с веб-службами в .net, вам будет известно, что вы «никогда, никогда» не используете в них 'Session'. – Achilles

ответ

3

Это 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; 
} 
+0

@ LukaszW.pl: это похоже на сеансы, которые мы поддерживаем в JSP или PHP? где будет храниться информация о сеансе, клиент или сервер? – brainless

+2

Сессия всегда связана с сервером ... Это похоже на сеанс в PHP (я не знаю JSP) ... Общая информация - это уникальная для клиента таблица объектов, которая хранится на сервере, с которой вы можете легко получить доступ со своего веб-сайта C# приложение, на котором размещен веб-сервис. –

+0

Поскольку веб-сервис - это обычное веб-приложение, которое обрабатывает запросы и ответы в формах, отличных от HTML, используются одни и те же механизмы управления сеансом. –

5

Возможно использование объекта Session в .NET внутри веб-службы ... однако я бы сказал, что это плохая практика. Обычно веб-служба не передает данные таким образом, и данные в службе не сохраняются между вызовами.

+1

Как работает сессия в веб-сервисе? любой образец кода доступен? – brainless

+1

'Сессия' в webservices работает так же, как на любых страницах aspx. Вы можете помещать объекты в таблицу сеансов и извлекать их оттуда. Также вы можете использовать механизмы, основанные на сеансах, такие как «FormsAuthentication» и т. Д. –

0

Here является статья о WS-ReliableMessaging, который поддерживает сессии, и поддерживается как для разработки java, так и для .net.