Est-il possible d'utiliser le nouveau serice de routage WCF dans WCF 4 pour les services basés sur REST? J'ai quelque chose de similaire à un proxy inverse en tête. Fondamentalement, j'ai un certain nombre de serivces repos reposés auto que je veux exposer via IIS avec la même URL de base et le port. Le routage doit être fait par la dernière partie de l'URL. Je suis absolument nouveau à ce service de routage WCF, alors pardonnez-moi si c'est une question idiote, mais je n'ai pas trouvé d'informations à ce sujet sur le web..net 4 Service de routage WCF + REST
J'ai essayé quelque chose comme ça (où serivce1/2 sont les services selfhosted):
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="RoutingBehavior">
<routing routeOnHeadersOnly="false" filterTableName="RoutingTable"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="RoutingBehavior" name="System.ServiceModel.Routing.RoutingService">
<endpoint address="myservices" contract="System.ServiceModel.Routing.IRequestReplyRouter" binding="basicHttpBinding"/>
</service>
</services>
<routing>
<filterTables>
<filterTable name="RoutingTable">
<add filterName="service1Filter" priority="0" endpointName="service1"/>
<add filterName="service2Filter" priority="0" endpointName="service2"/>
</filterTable>
</filterTables>
<filters>
<filter name="service1Filter" filterType="MatchAll"/>
<filter name="service2Filter" filterType="MatchAll"/>
</filters>
</routing>
<client>
<endpoint address="http://somehost:8888/test/service1" binding="basicHttpBinding" contract="*" name="service1"/>
<endpoint address="http://somehost:8732/test/service2" binding="basicHttpBinding" contract="*" name="service2"/>
</client>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
mais cela ne semble pas fonctionner. J'obtiens une exception non trouvée. http://somehost:8888/test/service1 est l'adresse de base du service auto-hébergé et non le point de terminaison réel. Puis-je effectuer le routage en fonction de l'adresse de base ou (si le routage de repos est possible) dois-je ajouter un itinéraire pour chaque point de terminaison?
Je pense que ce serait probablement une mauvaise utilisation du service de routage WCF. Je vais utiliser un "vrai" proxy inverse comme ARR. – Jeldrik