2016-05-05 6 views
6

Ich habe ein Problem auf localhost mit Blick auf und in Chrome und Firefox, nicht EdgeCookies nicht gesetzt werden, wenn Verfällt weniger als 1 Jahr, auf localhost (Chrome und FF)

dieser Code ok funktionieren wird, und wird setzen sie den Cookie:

[HttpPost] 
public ActionResult Change(string val) 
{ 
    var cookie = new HttpCookie(CookieName) { Value = val, Expires = DateTime.Now.AddYears(1) }; 

    Response.Cookies.Add(cookie); 

    return Content(""); 
} 

aber wenn ich das nur 300 days Verfällt ändern, wird das Cookie nicht zurück in den Request Cookies gesendet werden, (es wird nach wie vor in den Response Cookies für die Change Anfrage sichtbar sein)

Bearbeiten: Diese Aktion wird über Jquery Ajax ($.post) aufgerufen; und es funktioniert vielleicht vor einem halben Jahr

+0

Das ist seltsam, funktioniert gut für mich: [Httppost] public Action ändern (string val) { var cookie = new Http ("MyCookie") {Wert = val, Verfällt = DateTime.Now. AddDays (300)}; Response.Cookies.Add (Cookie); zurück Inhalt (" a"); } öffentliche ActionResult Check() { var cookies = Request.Cookies; return Ansicht(); } – SamGhatak

+0

So können Sie es konsistent reproduzieren, sogar mit einfachen MVC-Anwendung mit nur dieser Methode oben? Oder nur auf etwas Komplexerem als das? – Evk

+0

@Evk Ja, es ist das gleiche Verhalten für mich in 2 Projekten, auf localhost; arbeitet an der Kante obwohl – Omu

Antwort

1

Haben Sie versucht, cookie.Domain = null auf localhost setzen und den Domänennamen sonst verwenden.

+0

versuchte es, das hilft nicht – Omu

Verwandte Themen