Cookie不会在Azure中删除

时间:2014-10-24 19:01:50

标签: c# .net azure cookies asp.net-mvc-5

我有一个云网站(Azure网站),它从cookie中读取一些数据以跟踪用户活动。

突然间我的SignOut方法无效,我无法弄清楚原因。我正在按照建议的程序清除cookie。

这是发生的事情

用户点击退出:

public void SignOut()
{
    var httpCookie = Request.Cookies["cookiename"];
    if (httpCookie != null)
    {
        httpCookie.Expires = DateTime.Now.AddDays(-1d);
        Response.Cookies.Add(httpCookie);
    }
    Response.Redirect("/");
}

检查Response.Cookies.Add变量httpCookie时的Cookie确实显示了今天前一天的日期。

当我点击Response.Redirect后返回主页时,cookie与之前的相同:

var httpCookie = Request.Cookies["cookiename"];
if (httpCookie != null)
{
    //pick up where we left off
}

不允许我的用户退出是有点沮丧。一切看起来都很棒,那么我在哪里可以找到错误?

更新

Response.Cookies.Add方法似乎马上就失败了。如果我将其更改为:

public void SignOut()
{
    var httpCookie = Request.Cookies["cookiename"];
    if (httpCookie != null)
    {
        var deadCookie = new HttpCookie("cookiename");
        deadCookie.Expires = DateTime.Now.AddDays(-1d);
        Response.Cookies.Add(deadCookie);
        var httpCookie2 = Request.Cookies["cookiename"];
    }
    Response.Redirect("/");
}

httpCookie2的值仍然是错误的。不知道这是否有帮助/

0 个答案:

没有答案