Подтвердить что ты не робот

Как запустить службу 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" />

4b9b3361

Ответ 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

Укажите порт в адресе конечной точки. Подробнее см. В разделе "Определение адресов конечных точек в коде" в этой статье.