WCF: Что происходит, если канал установлен, но метод не вызывается? - PullRequest
0 голосов
/ 09 апреля 2010

В моем конкретном случае: соединение WCF установлено, но единственный метод с IsInitiating = true (метод входа в систему) никогда не вызывается. Что происходит?

В случае, если через некоторое время соединение закрывается из-за неактивности: какие настройки настраивают этот тайм-аут? Есть ли еще способ сохранить соединение у клиента?

Причина этого вопроса: я рассматриваю вышеупомянутый случай как возможную дыру в безопасности. Представьте себе, что многие клиенты подключаются к серверу без входа в систему, что препятствует подключению других клиентов из-за проблем с пропускной способностью, нехватки портов или недостаточной вычислительной мощности или ...

Я сплю или это актуальная проблема?

1 Ответ

3 голосов
/ 09 апреля 2010

Клиентский прокси WCF закроет соединение (если оно открыто), когда оно выйдет из области видимости, например, когда метод, в котором он используется, завершается.

Если вы используете сеансы (но это срабатывает только в том случае, если вы действительно установили сеанс - после вызова метода), в сеансах есть настройка inactivityTimeout, как на стороне клиента, так и на стороне сервера. - меньшее значение «выигрывает», так сказать.

Если ваши настройки «concurrentSessions» на вашем сервере достаточно низкие, это может быть проблемой - но, опять же, это срабатывает только тогда, когда есть фактический сеанс, например был вызван по крайней мере один метод - и в этом случае тайм-аут неактивности сеанса очистит эти неиспользуемые сеансы по мере необходимости.

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