#wcf #iis-7
#wcf #iis-7
Вопрос:
Я создал службу WCF по дуплексному протоколу. Это работает правильно и отлично. Но у меня есть только одна небольшая проблема:
вот строка IP, с которой я могу начать ее тестирование:http://localhost:5659/Service.svc
Но когда я выбираю свой реальный IP-адрес на своем локальном компьютере (где существовал localhost): http://93.4.18.3:5659/Service.svc
Я пока не могу подключиться. Также я не могу подключиться с других адресов, используя свой реальный IP-адрес. Может быть, что-то не так в моем web.config?
Кстати — мой брандмауэр, если он выключен.
Вот моя конфигурация:
<extensions>
<bindingElementExtensions>
<add name="pollingDuplex" type="System.ServiceModel.Configuration.PollingDuplexElement, System.ServiceModel.PollingDuplex" />
</bindingElementExtensions>
</extensions>
<behaviors>
<serviceBehaviors>
<behavior name="GameStreamServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentSessions="2147483647" />
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="pollingDuplexBinding">
<binaryMessageEncoding />
<pollingDuplex maxPendingSessions="2147483647" maxPendingMessagesPerSession="2147483647" inactivityTimeout="02:00:00" serverPollTimeout="00:05:00" />
<httpTransport />
</binding>
</customBinding>
</bindings>
<services>
<service name="WcfServer.Service" behaviorConfiguration="GameStreamServiceBehavior">
<endpoint address="" binding="customBinding" bindingConfiguration="pollingDuplexBinding" contract="WcfServer.IService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
Комментарии:
1. Как настроена привязка HTTP для этого сайта в IIS?
2. это весь файл с конфигурацией. Где я должен найти привязку HTTP?
3. В диспетчере IIS: щелкните правой кнопкой мыши на сайте, на котором размещена эта служба, выберите «Редактировать привязки …» и посмотрите, что там написано для HTTP, особенно в столбце «IP-адрес».
4. О, супер! ServiceGuy. Вы можете написать ответ, и я сделаю 1 для вас.
Ответ №1:
Вы должны проверить привязки сайта в IIS. Возможно, что привязка HTTP к порту 5659 настроена только для определенного заголовка хоста («localhost») или определенного IP-адреса (не 93.4.18.3). Это объяснило бы поведение, которое вы получаете.