为什么进行重定向时无法设置Cookies?

3
也许我做错了什么,为什么在重定向时Cookie没有被设置?
static void doLogin()
{
    var req = HttpContext.Current.Request;
    ...
    user_cookie.set(userId, loginId);
    ...
    HttpContext.Current.Response.Redirect(req["returnLocation"]);
}

static public void set(long userId, long loginId)
{
    var cookies = HttpContext.Current.Request.Cookies;
    var u = new HttpCookie("userId", userId.ToString());
    u.HttpOnly = true;
    var l = new HttpCookie("loginId", loginId.ToString());
    l.HttpOnly = true;
    cookies.Add(u);
    cookies.Add(l);
}

你要重定向到哪里? - RichardOD
1个回答

4

您正在向 Request.Cookies 集合中添加 cookie,应改为添加到 Response.Cookies 集合中。

另外请注意,Response.Redirect 会中止当前线程,这有时会导致问题。Response.Redirect( url, false ) 可以在不中止线程的情况下进行重定向。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接