2010-08-24 4 views
1

J'ai un service simple WCF que nous développons ... Nous hébergeons dans IIS7 sur WinServer2k8 (bien que je ne peux pas l'obtenir pour travailler dans IIS7 sur Win7 soit)WCF multiples Endpoints Sous IIS7

Je veux plusieurs points de terminaison pour le même contrat de service, mais les endpoints se comportent différemment. Par exemple, je souhaite qu'un point de terminaison renvoie des données au format XML et qu'un autre renvoie des données dans des messages SOAP.

Voici mon web.config

<system.serviceModel> 

<services> 
    <service name="MemberService"> 
    <endpoint address="soap" binding="basicHttpBinding" contract="IMemberService" /> 
    <endpoint address="xml" binding="webHttpBinding" contract="IMemberService" behaviorConfiguration="xmlBehavior" /> 
    </service> 
</services> 

<behaviors> 
    <endpointBehaviors> 
    <behavior name="xmlBehavior"> 
     <webHttp/> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 

Dans mon contrat de service que j'ai une méthode définie comme:

 [OperationContract] 
    [WebGet(UriTemplate = "members/{id}")] 
    Member GetMember(string id); 

Quand je IIS à déployer (sur localhost) et faire une demande (avec fiddler) à http://localhost/MemberService.svc/xml/members/memberid Je reçois une erreur 404, aussi une 404 avec http://localhost/MemberService.svc/soap/ Cependant, http://localhost/MemberService.svc/members/memberid fonctionne et sérialise les données comme prévu. Nous voulons ajouter la fonctionnalité de JSON dans un proche avenir, nous avons pensé que ce serait un autre point de terminaison avec un comportement différent. Mon web.config est calquée sur un poste que j'ai trouvé sur here

+0

Quelle version de .NET utilisez-vous? –

+0

.NET Framework 4 – Rob

Répondre

0

Après this tutorial ....

j'ai pu déployer rapidement les webservices. Puis, en utilisant fiddler, je pourrais changer le type de contenu de la requête vers/from "text/xml" et "text/json" et le service retournerait automatiquement les données dans le bon format.

+0

Votre lien est cassé, pouvez-vous le mettre à jour? En outre, s'il vous plaît envisager de résumer suffisamment d'informations à partir du lien pour répondre à la question, puis utilisez le lien comme un moyen d'obtenir des informations supplémentaires. –

Questions connexes