Asp.net Cookie.Path不';不能使用Internet Explorer
我正在登录时创建cookie。cookie作用域假定仅限于路径Asp.net Cookie.Path不';不能使用Internet Explorer,asp.net,iis-7,internet-explorer-9,Asp.net,Iis 7,Internet Explorer 9,我正在登录时创建cookie。cookie作用域假定仅限于路径 HttpCookie cookie = new HttpCookie(cookieName); cookie.Expires = DateTime.Now.AddMinutes(expiryMinutes); cookie["username"] = username; SetCookieValue(cookie, "username", username); SetCookieValue(c
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Expires = DateTime.Now.AddMinutes(expiryMinutes);
cookie["username"] = username;
SetCookieValue(cookie, "username", username);
SetCookieValue(cookie, "password", password);
SetCookieValue(cookie, "domain", domain);
cookie.HttpOnly = true;
cookie.Secure = true;
cookie.Path = Request.Url.GetLeftPart(UriPartial.Authority);
问题是,虽然这段代码在Firefox和Chrome中运行良好,但在InternetExplorer(和Opera)中却不起作用。问题行是最后一行-在这里设置cookie.Path参数时,即丢弃(我认为)cookie。我已经用Chrome控制台对此进行了调试,并且成功地用正确的路径(比如,/application)创建了cookie
这里可能有什么问题?改变
cookie.Path = Request.Url.GetLeftPart(UriPartial.Authority);
对此
cookie.Path = "/";
我假设您希望将cookie应用于整个域。由于基础WinINET InternetGetCookie实现中的一个模糊错误,IE的
文档。如果cookie设置为包含文件名的路径属性,Сookie
将不会返回cookie
例如,如果页面在自身上设置cookie,则如下所示:
Set-Cookie: HTTPSet-PathCookie=PASS;path=/check.htm
cookie将与HTTP请求一起发送,但不会出现在文档.Сookie
集合中
请参阅。不,我需要cookie特定于路径。它在设置为“/”时工作,无需担心。当将它设置为与/不同的值时,问题就开始了。你能发布你的HTTP响应头吗?嗯,很好。但是我没有设置文件名,只设置目录名,比如“/application1”。在这里,它仍然不起作用(IE9),在Chrome和Firefox上运行良好,在IE(IE10测试)或Opera中根本不起作用。。。