Я искал часы, но я не мог найти решение. Я кратко объясню.
Я изучаю службы WCF. Я только что создал сервис и просмотрю его. Вот файл конфигурации:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="EmployeeServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="EmployeeServiceBehaviour" name="EmployeeConfiguration">
<endpoint address="http://localhost:2005/EmployeeService.svc" binding="basicHttpBinding"
bindingConfiguration="" contract="IEmployeeConfiguration" />
</service>
</services>
</system.serviceModel>
<system.web>
<compilation debug="true"/>
</system.web>
<system.webServer>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>
При просмотре с Visual Studio проблем нет. Он отлично работает.
Во-вторых, я пытаюсь опубликовать его в IIS. Что я делаю, так это:
Я публикую службу в папке и добавлю эту службу в IIS.
Я выбираю порт 3006 в качестве порта.
Ниже его файла конфигурации. Обратите внимание, что я также изменил порт внутри config на 3006
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="EmployeeServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="EmployeeServiceBehaviour" name="EmployeeConfiguration">
<endpoint address="http://localhost:3006/EmployeeService.svc" binding="basicHttpBinding"
bindingConfiguration="" contract="IEmployeeConfiguration" />
</service>
</services>
</system.serviceModel>
<system.web>
<compilation/>
</system.web>
<system.webServer>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>
И я жду, чтобы работать плавно, но:
IIS дает мне пустую страницу из Chrome
И HTTP 400 Bad Request от Explorer
Наконец, если я удаляю адресную часть из файла конфигурации, все работает хорошо. Но другая путаница в том, что на моем другом компьютере после описанного выше сценария (адрес предоставлен) я могу связаться с сервисом. Итак, я действительно устал от поиска, почему это работает на одном компьютере и не работает над другим. Может кто-нибудь объяснить это мне?
Я знаю, что это немного дольше, но я должен объяснить это ясно. Благодаря