Чтобы ответить на те вопросы:
Мы провели несколько тестов, и мы обнаружили, что когда мы добавляем привязок в IIS, не обновлять конфигурационный файл нашего сервиса. Это означает, что мы должны поддерживать конфигурацию в двух разных местах. Это не логика, не так ли?
При использовании IIS для размещения службы, необходимо настроить файл App.config или файл web.config, чтобы позволить IIS раскрыть некоторые привязки, так и в файле конфигурации, вы поставите все ваши привязки вы позволяете к вашему сервису wcf. Http, net.tcp и т. Д.
В вашей привязке вы не укажете адрес, потому что вы укажете этот адрес в IIS напрямую.
В IIS вы должны разрешить привязку, доступную в расширенных настройках вашего веб-сайта. После этого вы установите новую привязку для своего веб-сайта «веб-сервис» и добавьте все привязки, которые хотите прослушать, и укажите адрес.
Вы укажете адрес непосредственно в IIS.
Приведен пример.
Файл конфигурации:
<services>
<service name="ServiceName">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="httpMode"
contract="IContract" />
<endpoint address=""
binding="netTcpBinding"
contract="IContract" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
В вашем IIS Advenced настройки вашего поместит
HTTP, Net.Tcp в Enabled протоколов
После этого вы отправитесь в вашем привязка к IIS. Поместите ваши привязки для HTTP и нормально добавить новую связывающую Net.Tcp, в связывающем конфигурации поместить порт и виртуальный каталог как
8001: *
Этот параметр позволяет все соединение в 8001 порт для любого виртуального каталога.
Вы также должны иметь функцию «Активация WCF (активация Http и активация без Http)», установленная на вашем сервере.
Это всегда зависит от контекста. По словам Microsoft, «вы не должны учитывать самообслуживание для корпоративных сценариев. Самостоятельный хостинг подходит на этапах разработки или демонстрации вашего корпоративного проекта» https://msdn.microsoft.com/en-us/library/bb332338. aspx – Jayee