Anthony Steele によるこのブログ投稿でプロジェクトを再作成することにより、WCF で RESTful サービスを構築する方法を学ぼうとしています。彼は構成で次の XML を使用して、サービスのエンドポイントをセットアップします。
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/greeter"/>
</baseAddresses>
</host>
しかし、ASP.NET 3.5 Web サイトの web.config で同じことをしようとすると、サービスに移動できません。私が使用している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に移動してサービスを確認できると思います。リソースが見つからないというメッセージが表示されるだけです。何か不足していますか?
編集:私の問題の一部は、バインディングが wHttpBinding だったことです。webHttpBinding を使用すると、サービスを正しく使用できるようになりました。ただし、baseAddress 構成セクションはまだ効果がありません。