Как определить, когда соединение с сервером закрыто в Silverlight 3 - PullRequest
1 голос
/ 08 февраля 2010

У меня есть приложение Silverlight 3. Он обращается к службам WCF, которые работают на IIS. Если я какое-то время оставляю приложение бездействующим, создается впечатление, что я теряю соединение с аутентификацией сервера / входа в систему, и мои сервисные вызовы не выполняются.

Может показаться, что я вышел из системы в целях безопасности, но это не та область, которую я хорошо понимаю. Мы используем федеративную службу STS для создания зашифрованного токена в целях безопасности.

Может ли кто-нибудь объяснить, что происходит (если мое описание достаточно ясно) и как я могу обнаружить это событие в приложении Silverlight и перенаправить его обратно на страницу входа.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 08 февраля 2010

Как вы звоните в службу WCF? Вы хотите убедиться, что вы только создаете и открываете соединение с вашим прокси-объектом непосредственно перед выполнением каких-либо вызовов к службе WCF, а затем немедленно закрываете соединение.

Не устанавливайте соединение в начале вашего приложения, а затем закройте, когда вы закончите. Это излишне сохранит сервис в памяти. Если вам нужен долго работающий сервис, то я предлагаю изучить Durable WCF Services , который позволит вам сохранять состояние между вызовами методов.

Как правило, вы хотите относиться к своим службам как к не имеющим состояния и подключаться непосредственно перед использованием метода и закрываться сразу после него. Таким образом, вам не нужно беспокоиться о закрытии соединения и т. Д.

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