2009-03-27 2 views
0

hé les gars, j'ai un service xml reposant où le client passe la version actuelle du html qu'il visionne. Si la version sur le serveur est la même que celle du client, je réponds avec la version actuelle du serveur en XML. par exemple: <Response ServerHTMLVersion="1" />Ajout d'une sortie de fichier html conditionnelle avec la réponse xml

Cependant, si la version html du serveur est supérieure à la version actuelle du client, je crache toujours la même réponse comme ci-dessus comme <Response ServerHTMLVersion="2" />. mais le problème étant que mon application client doit faire une requête HTTP séparée pour télécharger le fichier html réponse incase version xml est supérieure à la version clients

pour des raisons de performances, je voulais couper cette requête http et je voulais savoir ce qui est la meilleure façon de le faire. dois-je encoder simplement le code HTML pour le rendre xml sûr et ajouter que la réponse XML - problème avec cet être html est FAT et l'encodage rend encore plus gras

OU

est-il une meilleure façon de gérer cela? note que je suis déjà gziping ma réponse à la fois, xml ainsi que html dès maintenant

Je voulais savoir la façon de faire cela en gardant à l'esprit les performances. le service xml reposant est implémenté via asp.net 3.5 et iis 7

Répondre

1

Avez-vous pensé à utiliser les en-têtes HTTP? Puisque les données primaires sont ici le HTML, et que la version ServerHTMLVersion est une sorte de "méta-données" à propos de ce HTML, cela devrait fonctionner.

Personnellement, je ferais la réponse à la demande 1) vide lorsque les versions correspondent et 2) le code HTML pour les versions non correspondantes; Ensuite, utilisez l'en-tête HTTP Pragma pour envoyer quelque chose comme Pragma: "ServerHTMLVersion = 2". En faisant cela, vous pouvez facilement vérifier si les versions du client et du serveur diffèrent, et saisir simplement la réponse complète si elles sont différentes. Certaines personnes débattraient de l'idée de renvoyer du code HTML à partir d'un service REST, mais personnellement, je considérerais cela comme totalement valable, et un bon moyen de séparer vos métadonnées des données utilisateur réelles.

-Jerod

+0

grande Jerod idée - je suis plus intéressé par la performance que se soucier de retour html d'un service de repos - Does not Matter ;-) – Raj

Questions connexes