-Tête Set-Cookie Avec Plusieurs Cookies
J'ai fait face à un problème.
Lorsque vous ajoutez plusieurs Set-Cookie les en-têtes de la réponse
headers.Add("Set-Cookie", "a=b;Path=/;");
headers.Add("Set-Cookie", "c=d;Path=/;");
en fait ils sont combinés et un seul en-tête est envoyé avec séparées par des virgules cookies
Set-Cookie: a=b;Path=/;,c=d;Path=/;
Selon RFC2109 c'est une syntaxe valide.
Mais il n'est pas selon RFC6265, qui dénonçait RFC2109
Par ailleurs dernières versions des navigateurs ne prennent pas en charge cette séparées par des virgules syntaxe. Testé sur IE9, Firefox 13 et Google Chrome 20.
Tous ces navigateurs pris le premier témoin, seulement.
Veuillez consulter l'exemple de projet ci-dessous
https://github.com/mnaoumov/cookie-bug/
Je veux trouver quelque solution de contournement.
J'attends d'avoir deux différents Set-Cookie en-têtes.
J'ai essayé d'écrire quelques MessageInspector de réécrire les en-têtes HTTP. Je ne pouvais pas trouver comment accéder à ces en-têtes.
Des idées?
P. S. technologie Utilisée: API Web
- Soulevé un bug sur codeplex. aspnetwebstack.codeplex.com/workitem/288
- Rahim sizi o'parkan
- Juste pour info, voici le peu qui interdit séparées par des virgules, des cookies sous une seule tête: "Un serveur d'origine peut inclure plusieurs-tête Set-Cookie champs dans une seule réponse. ... Les serveurs d'origine, ne PAS plier plusieurs Set-Cookie champs d'en-tête dans un seul champ d'en-tête." - à partir de RFC 6265 - HTTP État de Mécanisme de Gestion (section vue d'ensemble)
Vous devez vous connecter pour publier un commentaire.
Selon la réponse sur codeplex (http://aspnetwebstack.codeplex.com/workitem/288) ce problème est un problème connu et liées à la FMC de l'auto-hébergement et doivent être fixés par le déplacement d'hébergement IIS.
C'est WCF 4 question qui a marqué comme ne sera pas corrigé.
Trouvé une autre question avec le même résultat WCF 4.0 Cookie Seul le Premier est Enregistré par le Navigateur.
Vous pouvez utiliser le HttpContext.Actuel.Réponse.SetCookie
Cela va ajouter plusieurs set-cookies en-tête de la réponse.
Edit: aussi, vous devez ajouter le
dans votre site web.config