Хостинг WCF в службах Windows (сетевая служба) - PullRequest
0 голосов
/ 10 февраля 2012
  1. Служба WCF
  2. Хостинг службы WCF в службах Windows
  3. WinService входит как сетевая служба

Конфигурация хост-приложения:

<service name="StudyingControllerService.ControllerService">
        <host>
          <baseAddresses>
            <add baseAddress="http://IP:PORT/ControllerService.svc"/>
          </baseAddresses>
        </host>
        <endpoint address=""
                  binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IControllerService"
                  contract="StudyingControllerService.IControllerService" />
      </service>

Все отлично работает в локальной сети.(localhost) Но я хочу получить доступ к своему сервису с других компьютеров через сеть.

Я использовал другой компьютер (из другой локализации), выполнил команду ping IP (winservice's).пинг был в порядке.Я установил свой клиент и попытался подключиться к удаленному сервису, но установить соединение не удалось.telnet также не может установить соединение.

Что не так?

Брандмауэры отключены.(с обеих сторон)

На стороне клиента telnet не может открыть соединение с IP-портом

Ответы [ 3 ]

1 голос
/ 10 февраля 2012

Нет проблем со службой Windows или WCF.Проблема была с моим интернет-провайдером.

Он заблокировал порт, который использовал мой сервис.Итак, я прошу администратора открыть порт.и теперь все в порядке.

Спасибо всем за ответы.

0 голосов
/ 10 февраля 2012

Я бы попробовал изменить ваш базовый адрес в вашем конфигурационном файле следующим образом:

<service name="StudyingControllerService.ControllerService">
  <host>
    <baseAddresses>
      <add baseAddress="http://IP:PORT"/>
    </baseAddresses>
  </host>
  <endpoint address="ControllerService.svc"
            binding="basicHttpBinding"
            bindingConfiguration="BasicHttpBinding_IControllerService"
            contract="StudyingControllerService.IControllerService" />
</service>

Моя причина для рекомендации заключается в том, что базовый адрес используется для добавления конечных точек относительно базового адреса - помещение конечной точки в базовый адрес может вызывать проблему.

По крайней мере, кое-что попробовать - пару минут редактирования, и вы получите ответ, так или иначе.

0 голосов
/ 10 февраля 2012

У меня была похожая проблема. Это было просто при открытии порта на брандмауэре Windows.

Чтобы проверить, сработает ли это, я отключил службу брандмауэра.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...