Je viens de terminer mon premier service de repos WCF 4.0 et ne comprends pas pourquoi le type de contenu des données renvoyées change entre l'appel du service via Fiddler et Firefox. Voici mon contrat de service:Réglage du service de repos WCF 4.0 type de contenu
[ServiceContract]
public interface IProjectService
{
[OperationContract]
[WebGet(UriTemplate = "project/{id}/json", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
ProjectDataContract GetProjectJson(string id);
[OperationContract]
[WebGet(UriTemplate = "project/{id}/xml", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Xml)]
ProjectDataContract GetProjectXml(string id);
[OperationContract]
[WebGet(UriTemplate = "userprojects/{userKey}/json", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
List<ProjectDataContract> GetProjectsByUserJson(string userKey);
[OperationContract]
[WebGet(UriTemplate = "userprojects/{userKey}/xml", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Xml)]
List<ProjectDataContract> GetProjectsByUserXml(string userKey);
}
Comme vous pouvez le voir, je définis le format de réponse pour chaque opération. Si la requête se termine par "/ json", je renvoie les données json. Si la requête se termine par "/ xml", les données XML sont renvoyées. Au moins c'est ce que mes intentions sont. Lorsque j'appelle http://localhost:5050/ProjectServiceLibrary/project/27/xml dans Firefox, je peux voir que le type de contenu est "text/html" alors que la même requête invoquée dans fiddler montre le type de contenu correct de "application/xml". La même chose se produit pour un appel à une requête suffixée "/ json" - "text/html" dans firefox et "application/json" dans fiddler.
Alors, pourquoi cela se passe-t-il? Lequel ai-je confiance? J'ai téléchargé le module complémentaire JSONView Firefox, mais tout ressemble à json. Il traite le XML en JSON. Je suis sûr qu'il me manque quelque chose d'évident. Toute aide serait grandement appréciée.
ahhh, c'est logique maintenant. Merci pour la clarification. Je vérifiais simplement l'URL dans Firefox et Fiddler pour voir si mon code fonctionnait. Je devenais vraiment confus par les différents résultats et pensais que c'était moi. Donc, je suppose que si j'utilise jQuery pour accéder à mes urls suffixées "/ json", il recevra les données json correctes car je spécifie le type de contenu attendu par jquery. Je vais devoir vérifier cela, mais c'est logique à la lumière de votre réponse. Merci encore. –