У меня есть конечная точка WCF внутри моего проекта веб-приложения .NET 4.0. С помощью тестового клиента VS2010 WCF я могу правильно подключиться к услуге. Однако, когда я обращаюсь к сервису, я получаю общее сообщение об ошибке:
Тип содержимого text / html; charset = UTF-8 ответного сообщения не соответствует типу содержимого привязки (text / xml; charset = utf-8). При использовании пользовательского кодировщика убедитесь, что метод IsContentTypeSupported реализован правильно. Первые 1024 байта ответа были:
Когда я посмотрел запросы на IIS Express, я получил следующее:
Запрос запущен: POST http://machinename:port/Services/Services.svc
Запрос запущен: GET http://machinename:port/Services/Services.svc?AspxAutoDectectCookieSupport=1
Запрос запущен: GET http://machinename:port/(X(1)A(LKwosYYszAEkAAAAMDE2YzlmNWItNTZIOS00ZDY1LTgzOTAtNDIxNDgyOWZIYWViJ86TX46muUQoL_psmkZK2rgWbO41))/Services/Services.svc?AspxAutoDectectCookieSupport=1
Запрос завершен: "http://machinename:port/Services/Services.svc" с HTTP-статусом 302.0
Запрос завершен: "http://machinename:port/Services/Services.svc?AspxAutoDectectCookieSupport=1" с HTTP-статусом 302.0
Запрос завершен: "http://machinename:port/Services/Services.svc?AspxAutoDectectCookieSupport=1" с HTTP-статусом 200.0
Похоже, что после отправки сообщения в службу он перенаправляется на стандартную веб-страницу службы. Еще когда убираю:
<authentication mode="Forms">
<forms cookieless="AutoDetect" loginUrl="~/Security/LoginClient.aspx" name="FORMAUTH" />
из web.config это работает. Есть идеи, что происходит? Я попытался удалить папку, в которой находится служба, из проверки подлинности (/8150047/rezhim-autentifikatsii-formy-vyzyvayschie-oshibki-v-konechnoi-tochke-wcf), но проблема все еще остается.
Хотя это работает с использованием Visual Studio Development Server (Cassini), когда я запускаю его через IIS Express 7.5, такая же ошибка возникает с аутентификацией или без нее.