J'essaie d'apprendre comment construire des services RESTful avec WCF en recréant le projet sur this blog post par Anthony Steele. Il utilise le code XML suivant dans sa configuration pour configurer le point de terminaison pour le service.Pourquoi mon service WCF ne répond pas à mon paramètre baseAddress dans web.config?
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/greeter"/>
</baseAddresses>
</host>
Cependant, lorsque je tente de faire la même chose dans le web.config de mon site Web ASP.NET 3.5, je suis incapable de naviguer à mon service. Voici le XML que je utilise:
<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>
J'imagine que ma configuration me permettrait de naviguer vers http://localhost:49268/TestREST/webapi/services/greeter et voir mon service. Tout ce que je reçois est un message de ressource non trouvé - ai-je raté quelque chose?
Modifier: Une partie de mon problème était que ma liaison était wsHttpBinding. Utiliser webHttpBinding m'a permis d'utiliser le service correctement - sauf que la section de configuration de baseAddress n'a toujours aucun effet.