我正在使用ashx文件来终止用户会话并重定向到主页面。重定向与使cookie过期的例程不同。 我尝试了HttpContext.Current.Response.Redirect(“index.aspx”,false),但也没有用。有什么好办法?谢谢。
我的代码:
public void ProcessRequest (HttpContext context)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["user"];
if (cookie != null)
HttpContext.Current.Request.Cookies["user"].Expires = DateTime.Now.AddYears(-30);
cookie = HttpContext.Current.Request.Cookies["admin"];
if (cookie != null)
HttpContext.Current.Request.Cookies["admin"].Expires = DateTime.Now.AddYears(-30);
HttpContext.Current.Response.Redirect("index.aspx", false);
}
答案 0 :(得分:0)
如果您的处理程序返回302结果,则ajax调用不会自动重定向用户,它将返回重定向到的页面内容。
您应该让处理程序使cookie过期,如果没有异常则返回true,否则返回false。在成功回调中,如果结果为真,则ajax调用将用户通过javascript重定向到下一页。如果为false,则向他们显示某种错误消息。
对于cookie过期,您必须从请求中获取cookie,将过期时间设置为过去的时间(就像您当前正在进行的那样),但有一件事情就是将cookie添加回响应。