У меня есть служба WCF, которая работает безупречно в течение 3 месяцев.Он используется локальными клиентами на одном сервере, на котором размещается служба WCF, и клиентами локальной сети.Он использует SSL и базовую аутентификацию для обеспечения безопасности.
Несколько ночей назад локальный клиент (клиенты локальной сети не затрагиваются) начал получать 404 ошибки при каждой попытке использовать службу.Я могу открыть браузер на сервере, на котором размещен WCF, просмотреть WSDL и даже вызвать команду «put» и получить ожидаемый «метод не разрешен».Я подтвердил, что на хост-сервере не было внесено никаких изменений программного или аппаратного обеспечения.Я подтвердил, что ключ SSL действителен.Я подтвердил, что разрешения для пула приложений достаточны.Я подтвердил, что брандмауэр не работает.Единственное, что странно, - это журнал IIS, показывающий, что первое сообщение не содержит пользователя с базовой аутентификацией.Однако следующая строка в журнале показывает и показывает ответ 200.Я не совсем уверен, что журнал не нормально.Увидеть ниже.Я надеялся, что кто-нибудь может дать мне другое место для исследования, чтобы найти проблему.Пожалуйста, дайте мне знать.
2010-08-28 10:30:03 192.168.100.100 POST /protected/Service_Name_Here.svc/put - 443 - 192.168.100.100 - 401 2 5 2
2010-08-28 10:30:03 192.168.100.100 POST /protected/Service_Name_Here.svc/put - 443 User_Name_Here 192.168.100.100 - 200 0 0 5
РЕДАКТИРОВАТЬ: локальный клиент, который выдает ошибку, передает большие файлы в службу WCF.Клиенты локальной сети передают небольшие файлы и не выдают ошибку.Я нашел эту ссылку , которая предполагает, что defaultMode = "Buffered" выбрасывает 404 для файлов размером более 20 МБ.Для этого человека было исправлено изменение TransferMode = "Streamed".Однако параметр «Потоковая передача» разрешает передачу только одного параметра в службу WCF.У меня есть несколько параметров, поэтому мне нужно найти исправление для «буферизованного» режима.