Je reçois 404s lors de l'exécution d'une méthode WCF sur IIS6 lorsque le mappage générique est activé.WCF + Wildcard Mapping + IIS6 = 404s sur chaque méthode!
Vous pouvez tous reproduire ceci en créant un nouveau service WCF dans VS2008 (nouveau projet> application de service WCF). Accédez à la méthode dummy ('GetData') ... vous remarquerez qu'il renvoie 400 ... c'est bien, car il montre qu'il est toujours en cours de transfert vers WCF.
Cependant: Si vous activez le mappage générique dans IIS6, vous obtiendrez maintenant un 404, ce qui signifie que WCF n'intercepte plus la requête.
Mon code est le suivant:
[ServiceContract]
public interface IRest {
[OperationContract]
[WebGet(UriTemplate = "/test")]
int Test();
}
Avec le web.config suivant:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ServiceX.RestBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceX.RestBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" />
<services>
<service behaviorConfiguration="ServiceX.RestBehavior"
name="ServiceX.Rest">
<endpoint address="" behaviorConfiguration="ServiceX.RestBehavior"
binding="webHttpBinding" contract="ServiceX.IRest" />
</service>
</services>
</system.serviceModel>
Tout fonctionne très bien sans cartographie générique; Je peux naviguer vers '/services/rest.svc/test' et je recevrai le résultat attendu.
Cependant, dès que j'active le mappage générique (. *> C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll), je commence à recevoir des 404 lorsque j'essaie d'accéder à une méthode (bien que je puisse toujours voir '/services/rest.svc').
Je suis épuisé Google et StackOverflow :(
Une explication des étapes que vous avez prises pour y parvenir serait vraiment utile, merci. – robyaw
Ouvrez IIS, choisissez votre site Web, puis sélectionnez "Mappages de gestionnaires". – Tchami