400 Bad Request (Invalid Host) с использованием WCF и моно - PullRequest
0 голосов
/ 13 апреля 2011

Я получаю Bad Request (Invalid host) при попытке запустить службу C # WCF в режиме моно.Эта служба является частью приложения и не размещается на веб-сервере.

Я настроил свои службы следующим образом:

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior name="DefaultServiceBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>

  <services>
    <service behaviorConfiguration="DefaultServiceBehavior" name="MyServices.TaskService">
      <endpoint address="V1" binding="basicHttpBinding" contract="MyServices.ITaskServiceV1" />
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:8731/MyServices/Tasks" />
        </baseAddresses>
      </host>
    </service>
  </services>
</system.serviceModel>

Когда я пытаюсь посетить http://localhost:8731/MyServices/Tasks или любойиз его конечных точек (включая ?wsdl) я получаю ошибку 400.

Я успешно развернул ее с помощью среды выполнения .net, просто не могу понять, что не так для развертывания с mono.Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ Моно версия: 2.10.1

1 Ответ

1 голос
/ 24 января 2014

У меня была такая же проблема сегодня. Размещение службы wcf внутри приложения .net 3.5 работало, но тот же код с использованием mono 3.2.2 дает неверный ответ об ошибке хоста. Поэтому я проверил источник моно и обнаружил, что моно ищет допустимую конечную точку по URL запроса, используя сравнение с учетом регистра. Изменил мой URL-адрес, чтобы соответствовать регистру, как в моей конфигурации службы решил проблему.

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