Сессионный сервис wcf в Silverlight - PullRequest
3 голосов
/ 14 января 2010

Как я могу создать сессионный сервис wcf для клиентов Silverlight? Какое связывание я могу использовать?

Ответы [ 2 ]

2 голосов
/ 18 января 2010

Нормальное состояние сеанса WCF, к сожалению, не будет работать с Silverlight. Вместо этого вам придется использовать состояние сеанса asp.net и разместить приложение в IIS. Вот некоторая информация о том, как это сделать:

http://pdkm.spaces.live.com/blog/cns!D1DDEC9FF002FB8C!1142.entry

2 голосов
/ 14 января 2010

Глава 4 удивительного Юваля Лоуи Программирование служб WCF, 2-е издание - все об управлении экземплярами. У него есть целый раздел, посвященный сессионным службам WCF, начиная со страницы 160.

Из таблицы на стр. 165 видно, что большинство привязок, включая Basic, TCP, IP и WS, допускают сессионные компоненты.

Как правило, вы добавляете атрибут к контракту на обслуживание, например:

[ServiceContract(SessionMode = SessionMode.Required)]

И затем вы можете извлечь идентификатор сеанса из контекста в службе следующим образом:

string sessionId = OperationContext.Current.SessionId

На стороне клиента вы можете получить идентификатор текущей сессии следующим образом (при условии, что вы называете своего клиента "прокси"):

string sessionId = proxy.InnerChannel.SessionId;

Очевидно, что это намного больше, но это основы. Я настоятельно рекомендую вам взглянуть на книгу Лоуи для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...