Как запустить службу WCF на определенном порту
У меня есть служба .NET.NET WCF, работающая на IIS. Я не указал порт, поэтому предположим, что он запущен на порту 80. Мне нужно установить мою службу на сервере, где порт 80 уже используется, и парень сети попросил меня изменить мой сервис для работы на порту 443. Как сделать Я делаю это? Я предполагаю, что он может быть настроен в app.config, но я не могу найти статью, которая показывает мне, как это сделать.
Вот мой текущий app.config:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
Ответы
Ответ 1
Я предполагаю, что вы выполняете свои службы в протоколах net.tcp.
1) Отредактируйте привязки (щелкните правой кнопкой мыши Default Web Site
выберите Edit Bindings
![enter image description here]()
2) Серверная сторона
<service name="YouServiceNameSpace.YourService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="YourBinding" contract="YourContract" />
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange" />
</service>
3) Сторона клиента
<endpoint address="net.tcp://YourHost:443/YourServiceDirecotry/YourService.svc"
behaviorConfiguration="YourBehavior" binding="netTcpBinding"
bindingConfiguration="YourTcpBinding" contract="YourContract"
name="YourContractName" />
Ответ 2
Мы можем сделать это, используя файл .csproj проекта WCF (в случае использования VS). Просто измените значение этого тега xml в соответствующем файле:
Чтобы запустить службу на номер порта 60000,
<DevelopmentServerPort>60000</DevelopmentServerPort>
Ответ 3
Обычно вы должны иметь службы node с хотя бы одной службой node и каждый из которых имеет конечные точки, где вы можете указать порт. См. Больше на: http://msdn.microsoft.com/en-us/library/ms733932.aspx
Например:
<services>
<service name="MyNamespace.myServiceType">
<endpoint
address="net.tcp://0.0.0.0:8000" binding="basicHttpBinding"
bindingConfiguration="myBindingConfiguration1"
contract="MyContract" />
</service>
</services>
Ответ 4
Укажите порт в адресе конечной точки. Подробнее см. В разделе "Определение адресов конечных точек в коде" в этой статье.