Asp.net mvc 如何删除mvc 5的会话和cookie

Asp.net mvc 如何删除mvc 5的会话和cookie,asp.net-mvc,session,cookies,Asp.net Mvc,Session,Cookies,我有一个电子邮件确认控制器,我张贴到 发生这种情况时,我需要注销,清除有关用户的会话和cookies。。。这是因为当他们确认他们的电子邮件时,我需要一个按钮来解除锁定,允许用户重新发送确认电子邮件 我是这样做的: [HttpPost] [Authorize] public async Task<ActionResult> ReSendEmailConfirmation(string userID) { await this.SendEmailConfirmation( use

我有一个电子邮件确认控制器,我张贴到

发生这种情况时,我需要注销,清除有关用户的会话和cookies。。。这是因为当他们确认他们的电子邮件时,我需要一个按钮来解除锁定,允许用户重新发送确认电子邮件

我是这样做的:

[HttpPost]
[Authorize]
public async Task<ActionResult> ReSendEmailConfirmation(string userID)
{
    await this.SendEmailConfirmation( userID );

    //Log off to prevent stale user session
    AuthenticationManager.SignOut( DefaultAuthenticationTypes.ApplicationCookie );
    Session.Clear();
    Session.Abandon();
    Response.Cookies.Clear();

    return RedirectToAction( "ReSendEmailConfirmation" ); // I am logged out okay, but when i goto my email... click the confirmation link, then log back in... it still says my email is not confirmed. If i shut my browser down, it will then update.
}
[HttpPost]
[授权]
公共异步任务重新发送邮件确认(字符串用户ID)
{
等待此消息。SendEmailConfirmation(userID);
//注销以防止用户会话过时
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationOkie);
Session.Clear();
会话。放弃();
Response.Cookies.Clear();
return RedirectToAction(“ReSendEmailConfirmation”);//我已注销,但当我转到电子邮件时……单击确认链接,然后重新登录……它仍然显示我的电子邮件未确认。如果我关闭浏览器,它将更新。
}
问题是即使在这一切之后

当我重新登录时,它仍然说电子邮件没有确认。。。即使它在数据库中


如何完全清除用户会话?

会话。清除将清除所有会话。
和
Response.Cookies.Clear
将清除所有Cookies。
你可以用
[NoCache]
来装饰你的行为,以防止它缓存

我已经尝试了Cookies。很清楚,还是没有运气。。我要试试NoCache。这是什么名称空间?您可以在这里找到相关的问题-