gpt4 book ai didi

javascript - Session 有时返回 Null 有时返回 value

转载 作者:行者123 更新时间:2023-11-27 22:58:22 26 4
gpt4 key购买 nike

我在用户登录时创建 session 并使用 session 检查访问页面,当我检查 session 时,如果我刷新页面或导航到其他页面,则重新运行 null , session 不为空,它与特定页面无关,而是与某些方法有关有时返回 null 有时获取 session 值,我在 Web 服务中的方法,我称之为使用 javascript

    [WebMethod(EnableSession = true)]            
public object CheckIfLoggedin()
{
try
{
return new { Result = resultEnum.ok, Records = GetUserID() };

}
catch
{
return new { Result = resultEnum.error };
}

}
private Guid? GetUserID()
{
if (Context.Session["User"] != null)
{
string userid = Context.Session["User"].ToString();
if (userid != "")
return new Guid(userid);
else
return null;
}
else
return null;
}

function CheckIfLoggedin() {

var status = 0;

var ItemCount;
$.ajax({

type: "POST",
url: "../../../../_layouts/15/TripPlannerFrontend/TripPlannerSrv.asmx/CheckIfLoggedin",

contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (res) {
if (res.d.Result === 2) {
var userid = res.d.Records;
if (userid == null) {
//
}
else {

//window.location = "TripPlanner.aspx";
var returnurl = GetQueryString("returnurl");
if (returnurl != null && returnurl !== "")
window.location = returnurl;
else
window.location = "TripPlanner.aspx";
}

}
else
console.log("try again");
},
error: function (response) {
console.log("try again");
}
});
};

最佳答案

问题是 session 关联性。如果您有多个 Web 前端和一个负载均衡器,将请求分派(dispatch)到其中一个 SP 服务器:第一个请求可能会路由到服务器 A,然后创建 session ,当客户端发出第二个请求时,它会可能会被重定向到服务器 B,其中 session 不存在。

在这种情况下,最好的方法是为“ session 关联”配置负载平衡器:这意味着一旦为给定客户端分配了 Web 前端之一,所有后续请求将被重定向到同一服务器。请询问负载均衡器的管理员是否有 session 亲和性配置,如果没有,请询​​问他是否可以在他的级别进行配置(这取决于负载均衡所使用的技术)。

关于javascript - Session 有时返回 Null 有时返回 value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37372552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com