2013-03-04 3 views
3

J'ai une demande qui contient un en-tête If-None-Match que je compare ensuite à la réponse calculée sur le service. Si elles correspondent et que la réponse n'a pas été modifiée depuis la dernière fois, je renvoie une réponse 304 vide. Tout cela fonctionne très bien car mon contenu change rarement, mais j'aime vérifier les changements souvent.Réponse 304 dans Azure Service Bus relais

Cela semble toutefois devenir un problème lors de l'exposition de la ressource de service via Service Bus Relay. I ne reçoivent pas de réponse au point de terminaison de relais lors de l'envoi d'un message 304 du service.

Est-ce un problème connu? Y a-t-il un moyen de contourner ce problème comme vous le voyez?

Répondre

5

Cela semble être un bug dans ServiceBus Relay. Lorsque votre écouteur retourne 304 (ou 204) assurez-vous que HttpResponseMessageProperty..StatusDescription est null avant d'envoyer la réponse via SERVICEBUS et cela devrait contourner ce problème.

+0

Très bien. Je peux confirmer que ce travail fonctionne réellement! Je n'ai pas pu obtenir la méthode [CheckConditionalRetrieve] (http://msdn.microsoft.com/en-us/library/system.servicemodel.web.incomingwebrequestcontext.checkconditionalretrieve.aspx) pour travailler, mais j'ai dû implémenter le magasin etag et comparaison moi-même pour être en mesure de modifier la réponse avant de sortir. – Riri

+0

@ dave-stucki-ms Je suppose que c'est spécifiquement pour l'API 1.8 de Service Bus? Pourriez-vous clarifier cela dans votre réponse pour référence future? – Riri

Questions connexes