У меня есть приложение WCF, которое я кодирую. Я запускаю и останавливаю его несколько раз, когда я меняю вещи, а затем снова запускаю служебный вызов.
Поскольку мне нужна информация о сеансе, я использую wsHttpBinding
.
Прежде чем перейти к wsHttpBinding
, я использовал basicHttpBinding
, и я мог остановить службу, внести изменения и перезапустить ее. Затем я смог запустить мой тестовый клиент WCF (WCF Storm) против конечной точки, и он все равно будет работать нормально.
Теперь он говорит мне:
Сообщение не может быть обработано. Это наиболее вероятно, потому что действие http://tempuri.org/IMyService/MyOperation 'неверно или потому, что сообщение содержит недопустимый или истекший токен безопасности или из-за несоответствия между привязками. Токен контекста безопасности был бы недействительным, если служба прервала канал из-за неактивности. Чтобы предотвратить прерывание сеансов бездействия, служба преждевременно увеличивает тайм-аут приема на привязку конечной точки службы.
Это означает, что мне нужно обновить мое соединение и повторно настроить мой служебный вызов (который вызывает раздражение после нескольких сотен раз.).
Я прочитал, что тайм-аут безопасности составляет 10 минут. Я забегаю менее чем за 2 минуты, поэтому я не думаю, что это проблема с тайм-аутом.
Я предполагаю, что токен истекает по той очевидной причине, что я убил и перезапустил службу.
Дело в том, что мне вообще не нужен материал безопасности (мне нужен только материал сеанса, или я бы использовал BasicHttpBinding
В любом случае, чтобы моя служба WCF не заботилась о токенах контекста безопасности?
Примечание. Мой тестовый клиент по умолчанию использует wsHttpBinding и имеет набор безопасности. Но я предполагаю, что он устанавливает это, потому что мой сервис публикует, что ему нужна безопасность.
Вещи, которые я пробовал:
-
Я пробовал конфигурацию, подобную той, что я нашел здесь
<bindings> <wsHttpBinding> <binding name="WsEventLogBinding"> <security mode="Message"> <message establishSecurityContext="false" /> </security> </binding> </wsHttpBinding> </bindings>
Но я действительно не знаю, что это значит, или если это то, что мне нужно (что вообще не является безопасностью (пока)).
Это не устранило проблему.
- Настройка
<security mode="None">
Это не помогло.