Получение имени машины в svcutil при размещении службы WCF - PullRequest
0 голосов
/ 19 января 2011

У меня есть домен / веб-сайт (HTTR.abc.com), размещенный в inetmgr в IIS на производственных серверах.Я хочу разместить службу WCF в домене HTTR.abc.com. Web.config моей службы WCF выглядит следующим образом

<services>
<service behaviorConfiguration="HTTR.Business.HTTRContextServiceBehavior" name="HTTR.Business.HTTRContextService">
<endpoint address="http://machinename:83/GTYEBus/abcService.svc" binding="wsHttpBinding" contract="HTTR.Business.IHTTRContextService">
</endpoint>
</service>
</services>

Когда я запускаю URL "http://HTTR.abc.com/GTYEBus/abcService.svc", страница отображается правильно, но онапоказывает файл WSDL, указывающий на "http://machinename:83/GTYEBus/abcService.svc?WSDL"

. Я бы хотел, чтобы на странице отображался WSDL с тем же путем, что и путь .svc, то есть он должен отображаться как" http://HTTR.abc.com/GTYEBus/abcService.svc?WSDL" вместо "http://machinename:83/GTYEBus/abcService.svc?WSDL"

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

Я сталкивался с этим, пытаясь найти решение той же проблемы.

В результате возникла проблема с сайтом без имени хоста.

В IIS7.5 просто добавьте имя хоста в заголовок хоста на привязке.Если это https, заголовок узла может быть защищен.Вам нужно будет сделать сертификат псевдо-подстановочным сертификатом, указав * в качестве начала понятного имени сертификата.Тогда имя хоста будет редактируемым.

Эта ссылка содержит хорошее описание разрешения в IIS6

0 голосов
/ 29 декабря 2011

В разделе serviceMetadata файла web.config вы можете включить атрибут externalMetadataLocation и указать его в расположении "http://httr.abc.com/GTYEBus/abcService.svc?wsdl".

<serviceMetadata externalMetadataLocation="http://httr.abc.com/GTYEBus/abcService.svc?wsdl" />

Вот ссылка на MSDN в разделе конфигурации serviceMetaData: http://msdn.microsoft.com/en-us/library/ms731317.aspx.

Это не требует дополнительной настройки IIS и является гораздо более масштабируемым.

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

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