Я пытаюсь научиться создавать сервисы RESTful с WCF, воссоздавая проект на этой записи в блоге Энтони Стила. Он использует следующий XML в своей конфигурации для настройки конечной точки для службы.
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/greeter"/>
</baseAddresses>
</host>
Однако, когда я пытаюсь сделать то же самое в web.config моего веб-сайта ASP.NET 3.5, я не могу перейти к своему сервису. Вот XML, который я использую:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="GreeterBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="GreeterBehavior" name="Greeter">
<host>
<baseAddresses>
<add baseAddress="http://localhost:49268/TestREST/webapi/services/greeter"/>
</baseAddresses>
</host>
<endpoint address="" binding="wsHttpBinding" contract="IGreeter">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
</system.serviceModel>
Я бы предположил, что моя конфигурация позволит мне перейти к http://localhost:49268/TestREST/webapi/services/greeter и посмотреть мой сервис. Все, что я получаю, это сообщение о ресурсе не найден - я что-то упустил?
Редактировать: Часть моей проблемы заключалась в том, что моя привязка была wsHttpBinding. Использование webHttpBinding позволило мне правильно использовать службу - за исключением того, что раздел конфигурации baseAddress по-прежнему не действует.