Или, может быть, я делаю это неправильно, почему 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);
}
Вы добавляете файлы cookie в коллекцию Запрос.Cookies, вы хотите добавить их в коллекцию Response.Cookies.
Также обратите внимание, что Response.Redirect прекратит текущий поток, который, как я видел, иногда вызывает проблемы. Response.Redirect(url, false) будет перенаправляться без прерывания.