无法正确清除Cookie

时间:2014-06-09 12:42:39

标签: asp.net-mvc cookies

您好我的应用程序有两种类型的登录,一种是Facebook,另一种是正常登录。为了区分它们并相应地带来值,我已经使用了cookie并在这样的注销事件中清除它们。

但是当我通过电子邮件和密码登录然后注销并再次通过Fb登录时,UserCookie cookie仍然存在并且再次进入第一个if语句

  public ActionResult Logout(string returnUrl = "/")
    {
        try
        {

            FormsAuthentication.SignOut();
        }
        finally
        {
            if (Request.Cookies["UserCookie"] != null)
            {

                Request.Cookies["UserCookie"].Expires = DateTime.Now;
                Request.Cookies["UserCookie"].Value = "";
            }
            if (Request.Cookies["fbUserUserID"] != null)
            {
                Request.Cookies["fbUserUserID"].Expires = DateTime.Now;
                Request.Cookies["fbUserUserID"].Value = "";

            }
            if (Request.Cookies["fbFirstName"] != null)
            {
                Request.Cookies["fbFirstName"].Expires = DateTime.Now;
                Request.Cookies["fbFirstName"].Value = "";
            }
            FederatedAuthentication.WSFederationAuthenticationModule.SignOut(true);
        }


        //return Redirect(returnUrl);
        return View();
    }

在我看来,我正在检查像这样的cookie

    @if (HttpContext.Current.Request.Cookies["UserCookie"] != null && HttpContext.Current.Request.Cookies["UserCookie"].Value != "")
            {
}


 else if (HttpContext.Current.Request.Cookies["fbFirstName"] != null && HttpContext.Current.Request.Cookies["fbFirstName"].Value != "")
            {
             }

但它没有清除我猜它显示空字符串""对于控制器中的cookie值,但我不知道发生了什么。

我有什么遗失的东西吗?

1 个答案:

答案 0 :(得分:1)

Request.Cookies用于读取从客户端到服务器的cookie。如果您想设置 cookie,则需要使用Response.Cookies,以便服务器发送服务器响应的cookie信息。

尝试修改代码,以便在尝试取消设置Cookie时使用Response.Cookies代替Request.Cookies

相关问题