这个问题是因为在使用ASP.NET时,如果您使用的是HTTPS,则必须将ASP.NET_SessionIdcookie的路径设置为“/”,否则会导致无法设置cookie。以下是解决方法的代码示例:
在Global.asax文件中,添加以下代码:
protected void Session_Start(object sender, EventArgs e)
{
SessionIDManager manager = new SessionIDManager();
string newID = manager.CreateSessionID(Context);
bool redirected = false;
bool isAdded = false;
manager.SaveSessionID(Context, newID, out redirected, out isAdded);
if (isAdded)
{
HttpCookie cookie = new HttpCookie("ASP.NET_SessionId", newID);
cookie.Path = "/";
Response.Cookies.Add(cookie);
}
}
上述代码将设置路径为“/”,确保ASP.NET_SessionId cookie在使用HTTPS时能够成功设置并保存。