У меня есть тестовая служба WCF, размещенная на IIS. Я добавил новое приложение на веб-сайт по умолчанию и использовал пул приложений по умолчанию для размещения своей тестовой службы.
Я могу просматривать файл .svc из представления содержимого в IIS, и страница успеха вместе со ссылкой на wsdl открывается в Windows IE. Однако при нажатии на ссылку wsdl выдается ошибка HTTP 404 (не найдено). (Все находится на моем локальном хосте, доступ к которому осуществляется изнутри)
Я добавил конечную точку метаданных, и это соответствующая часть моего файла web.config.
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name = "mexBehaviour">
<serviceMetadata httpGetEnabled = "true" />
<serviceDebug includeExceptionDetailInFaults = "true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration = "mexBehaviour" name = "ClassLibrary1.HelloWorldService">
<endpoint address = "HelloService" binding = "basicHttpBinding" bindingConfiguration = ""
contract = "ClassLibrary1.IHelloWorldService" />
<endpoint address = "mex"
binding = "mexHttpBinding"
contract = "IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress = "http://localhost:17000"/>
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
Может кто-нибудь посоветовать мне, что мне может не хватать? Может быть проблема с разрешениями или что-то еще?
Спасибо.
Нет необходимости добавлять базовый адрес в контракт на обслуживание, который будет предоставлен веб-сервером IIS. Конфигурация приложения wcf по умолчанию включает метаданные службы, и мы можем получить доступ к метаданным с помощью страницы svc или напрямую использовать следующий URL-адрес.
Не стесняйтесь связаться со мной, если проблема все еще существует.