Служба WCF не работает на IIS! - PullRequest
0 голосов
/ 17 мая 2010

У меня есть служба WCF, размещенная на локальном IIS.Я создал сайт ASP.NET, который использует эту службу, размещенную на IIS.

При запуске с сервера Visual Studio WebDev все работает нормально, но как только я запускаю тот же веб-сайт [после размещения в IIS] из браузера, кажется, что веб-сайт не связывается со службой!

То же самое при запуске с сервера Visual Studio WebDev, не работает с IIS!

Кто-нибудь знает?

Пожалуйста, помогите!

Спасибо

Ответы [ 3 ]

0 голосов
/ 17 мая 2010

Пара вещей для проверки:

  • у вас есть файл SVC? Где он находится?
  • вы подключаетесь к правильному сервисному адресу? Было бы:

    http://YourServerName/YourVirtualDirectory/YourServiceFile.svc
    

    Это адрес, который вы получаете при размещении в IIS - вы не можете переопределить его в своем файле web.config, независимо от того, как сильно вы пытаетесь.

  • идентичны ли конфигурации для привязки и т. Д. На сервере и клиенте?
  • Вы включили HttpGetEnabled для метаданных службы? Можете ли вы перейти к адресу WSDL и получить обратно WSDL ??

    http://YourServerName/YourVirtualDirectory/YourServiceFile.svc?wsdl
    
0 голосов
/ 17 мая 2010

Звучит так, как будто вы не сбрасываете ссылку на службу, когда перемещаете ее на веб-сервер. После того, как вы завершите тестирование, вам нужно переместить службу в IIS, поэтому разверните ее на сервере. Затем вам нужно будет сделать повторную ссылку или обновить свою ссылку в нашем веб-приложении перед его развертыванием.

Обычно при тестировании вашего сервиса он запускается на сервере dev в http://localhost:someport/myservice.svc

При развертывании в IIS он будет работать на http://myserver.com/PossibleVDIR/myservice.svc

Как только вы позаботитесь об этом, все будет в порядке.

0 голосов
/ 17 мая 2010

Бьюсь об заклад, это адрес - при использовании Add Service Reference он жестко закодирует «localhost» в ваш файл ClientConfig на клиенте.

Проверьте это и реализуйте способ переключения на ваш реальный адрес (IIS) во время развертывания.

(Чтобы убедиться, что у вас есть правильный адрес времени развертывания, нужно открыть его в браузере, попробуйте перейти к «http://yoururl.com/MyService.svc"», вы должны получить страницу, которая будет ссылаться на WSDL, позволяя вам сделать уверен, что у вас есть правильный адрес .. это адрес, который должен искать ваш клиент)

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