2009-03-16 4 views
0

Ich habe ein Problem beim Löschen eines Cookies auf meinem Testserver. Auf meinem Dev-Rechner löscht der Cookie einwandfrei.Kann keinen Cookie auf Testserver löschen

Dies ist die Anfrage/Antwort von Fiddler. Ich versuche, den .Hv2-Cookie zu löschen alt text http://img3.imagebanana.com/img/aw10a2fq/pdnupload.png

Ich habe versucht, ohne den Pfad Teil des Antwort-Cookie - keinen Unterschied. Hier sehen Sie, wie der Cookie von FF aussieht.

alt text http://img3.imagebanana.com/img/9oii15bi/pdnupload.png

Ein Unterschied, den ich zwischen meinem dev Maschine und dem Testserver bemerkt habe, ist, dass der Host für das Cookie auf meinem dev Maschine statt .hostname.dev

.my.hostname.dev ist Hier

ist der Code, den ich verwende, um den Cookie zu entfernen

var oldFormsCookie = context.Request.Cookies[".Hv2"]; 
if (oldFormsCookie != null) 
{ 
    context.Response.Cookies.Remove(oldFormsCookie.Name); 
    var removalCookie = new HttpCookie(oldFormsCookie.Name) 
    { 
     Expires = DateTime.Now.AddYears(-1), 
     Domain = oldFormsCookie.Domain, 
     Value = "remove" 
    }; 
    context.Response.SetCookie(removalCookie); 
} 

es sieht für mich wie soll es zu löschen dieses Cookie werden! Hat jemand irgendwelche Ideen? Danke

Antwort

1

Nun sieht es aus wie das Problem war, dass die Domäne für den Cookie als null erschien, wenn es in der Tat das gleiche wie der FormsAuth-Cookie war. Ich änderte den Code zu

Domain = oldFormsCookie.Domain ?? FormsAuthentication.CookieDomain 

und es schien

zu arbeiten