2010-11-02 31 views
1

En utilisant HttpWebRequest/réponse, et les en-têtes de remorque dans la réponse chunked codés sont jetés (je l'ai fait à travers la source étagé de référence .Net 4.0 pour voir où il appelle RemoveTrailers après le morceau final). Est-il possible de récupérer ces en-têtes? Aussi, quelqu'un sait-il pourquoi ce comportement est en place pour commencer?Existe-t-il un moyen d'accéder aux en-têtes de la bande-annonce dans une réponse enchaînée dans .Net 4.0?

Au cas où quelqu'un demande, non, je ne peux pas faire en sorte que les en-têtes de la remorque sont déplacés vers le reste des en-têtes. C'est simplement le format de flux de données avec lequel je dois travailler.

Répondre

0

Je ne pense pas qu'il existe un moyen de le faire. Pour ce qui est de savoir pourquoi, lorsque cette fonctionnalité a été implémentée pour la première fois, aucun serveur HTTP connu n'a envoyé d'en-têtes dans les bandes-annonces à réponse fragmentée.

Quel type de serveur est-ce? Est-ce un serveur personnalisé qui fait cela?

Si vous vous souciez absolument à ce sujet, vous pouvez trouver une demande de fonctionnalité à la MS se connecter site web (http://connect.microsoft.com).

+0

Oui, c'est un système de serveurs de stockage personnalisés. Même si personne ne l'utilisait à ce moment-là, il semble assez facile à implémenter juste parce que cela fait partie du RFC, mais je vais sauver cette boîte à savon pour un autre moment :) Merci! – Brian

+0

Le serveur prend-il en charge HTTP/1.0? Si tel est le cas, vous pouvez rétrograder votre requête vers HTTP/1.0 et le serveur ne doit pas envoyer de réponse en bloc. BTW ce qui est si spécial à propos de ce serveur? Quels en-têtes met-il dans la remorque chunked? – feroze

+0

Non, nous devons utiliser HTTP/1.1. C'est un nœud de cluster de stockage. Je n'ai pas une liste exhaustive des en-têtes qui peuvent aller dans le Trailer pour ce serveur, mais je crois qu'ils s'appuient (au moins en partie) sur les données qui ont été envoyées avant. – Brian