#wcf
#wcf
Вопрос:
Я создал службу WCF, разместил ее в IIS и создал для нее клиент веб-приложения.
Все работает нормально.
проблема в том, что когда я включаю сеанс в службе WCF со всеми требуемыми атрибутами, это создает одну проблему.
Мой сервис имеет несколько функций. функция, которую я хочу выполнить первой, — это моя функция входа в систему, поэтому я установил IsInitiating = true.
и IsInitiating = false для всех других функций.
теперь со стороны клиента все работает нормально, когда я вызываю функцию входа в систему. но когда я пытаюсь вызвать другие функции после входа клиента в систему, это генерирует исключение, что функция XYZ не может быть вызвана первой, потому что для IsInitiating установлено значение fale;
Я думаю, проблема в том, что каждый раз, когда моя страница публикуется обратно на сервере, создается новый экземпляр моей службы wcf, который устанавливает новый сеанс с сервером. как поддерживать один и тот же прокси для всех событий в моем веб-приложении?
Комментарии:
1. Почему вы используете такую архитектуру? Это плохой способ.
Ответ №1:
У меня есть для вас очень интересная ссылка, которая, вероятно, могла бы решить вашу проблему. http://www.codeproject.com/KB/WCF/Sessions_in_WCF.aspx
Комментарии:
1. Привет, Денис, Ну, в этой статье объясняется то же самое, что я читал и на других форумах. Я это реализовал и тоже использовал. но моя проблема на стороне клиента. я решил свою проблему традиционным способом. Я создал прокси и сохранил его в asp.net сеансы. пока я думал о другом подходе. я хочу создать прокси и при каждой обратной передаче есть ли какой-либо способ использовать один и тот же прокси вместо сеанса?
2. ДА. Просто кэшируйте прокси-сервер службы (client), а затем извлекайте его, когда захотите выполнить вызов операции службы. Вероятно, сохраните его в объекте сеанса или приложения, если вы используете asp.net ?