Исключение информирует вас о том, что поведение вашей конечной точки несовместимо с вашей привязкой (wsHttpBinding).
Удалите из поведения конечной точки или используйте WebHttpBinding вместо wsHttpBinding.
Используйте WebHttpBinding, если вы хотите настроить конечные точки для веб-сервисов, которые используют HTTP-запросы вместо SOAP-сообщений. WebHttpBehavior () включает эту модель программирования при использовании вместе с WebHttpBinding (или совместимой).
И в этом проблема. Это поведение не совместимо с выбранной привязкой (wsHttpBinding).
Вам также следует указать конфигурацию конечной точки:
<endpointBehaviors>
<behavior name="WebHttp">
<webHttp />
</behavior>
</endpointBehaviors>
И используйте имя, чтобы связать его с конечной точкой службы:
<endpoint address="" binding="wsHttpBinding" contract="WCF.IWCFService"
behaviorConfiguration="WebHttp"/>
<identity>
<dns value="localhost" />
</identity>
</endpoint>
Это гарантирует, что конечная точка вашей службы использует поведение, заданное поведением конечной точки WebHttp (webHttp). Прямо сейчас вы не назвали его, поэтому конечная точка mex также получает такое поведение. Это не нужно. Просто используйте mexHttpBinding для конечной точки mex, но не связывайте его с тем же поведением, что и служба.