ASP.NET MVC 5 - 在与Cybersource的回复中,会话ID会随着mvc-action的变化而改变。丢失会话对象。
创始人
2024-09-16 09:30:44
0

在ASP.NET MVC 5中,会话ID会受到mvc-action的变化而改变,这可能导致会话对象丢失。以下是一个解决方法,包含代码示例:

  1. 在Global.asax.cs文件中,添加以下代码:
protected void Application_EndRequest()
{
    if (Context.Response.StatusCode == 302 && Session != null)
    {
        // 将会话ID存储在Cookie中
        Response.Cookies["ASP.NET_SessionId"].Value = Session.SessionID;
    }
}
  1. 在Web.config文件中,确保以下配置项存在:

    

  1. 在需要保持会话的Controller中,添加以下代码:
public ActionResult MyAction()
{
    if (Request.Cookies["ASP.NET_SessionId"] != null)
    {
        // 恢复丢失的会话
        string sessionId = Request.Cookies["ASP.NET_SessionId"].Value;
        SessionIDManager manager = new SessionIDManager();
        bool redirected;
        bool cookieAdded;
        manager.SaveSessionID(ControllerContext.HttpContext, sessionId, out redirected, out cookieAdded);
    }

    // 其他逻辑...

    return View();
}

这些代码将在每个请求结束时,检查是否发生了重定向(例如,由于mvc-action的变化)。如果发生了重定向,并且会话仍然存在,则会将会话ID存储在Cookie中。在下一个请求中,将检查Cookie中是否存在会话ID,并且在需要时恢复丢失的会话。这样可以确保与Cybersource的回复中,会话ID不会丢失。

请注意,这只是一种解决方法,可以根据您的需求进行调整和修改。

相关内容

热门资讯

大神推荐!边锋跑得快有辅助挂是... 大神推荐!边锋跑得快有辅助挂是真的吗(透视)一贯是有挂(2020已更新)(哔哩哔哩)1、边锋跑得快有...
记者揭秘!同乡游有辅助吗(透视... 记者揭秘!同乡游有辅助吗(透视)本来真的有挂(2020已更新)(哔哩哔哩)1、玩家可以在同乡游有辅助...
必知教程!胡乐手机麻将辅牌器购... 必知教程!胡乐手机麻将辅牌器购买(透视辅助)切实真的是有挂(2025已更新)(哔哩哔哩)1、每一步都...
盘点一款!掌心麻将圈插件(透明... 盘点一款!掌心麻将圈插件(透明挂)总是是有挂(2024已更新)(哔哩哔哩);1、掌心麻将圈插件系统规...
新手必备!哈灵斗地主(透视)真... 新手必备!哈灵斗地主(透视)真是真的是有挂(2021已更新)(哔哩哔哩)小薇(透视辅助)致您一封信;...
我来教教你!三三麻将里面的十三... 我来教教你!三三麻将里面的十三道有挂吗(透视辅助)好像是真的有挂(2020已更新)(哔哩哔哩)1)三...
今日科普!德州ai辅助神器软件... 今日科普!德州ai辅助神器软件(透视辅助)好像存在有挂(2024已更新)(哔哩哔哩)1、不需要AI权...
分享实测!王者棋牌有没有挂(透... 分享实测!王者棋牌有没有挂(透视)切实真的有挂(2025已更新)(哔哩哔哩)1、很好的工具软件,可以...
交流学习经验!中至吉安麻将有挂... 交流学习经验!中至吉安麻将有挂吗(透视)其实存在有挂(2020已更新)(哔哩哔哩);1、中至吉安麻将...
终于懂了!中至吉安王炸输赢(透... 终于懂了!中至吉安王炸输赢(透明挂)果然是真的有挂(2022已更新)(哔哩哔哩)1、起透看视 中至吉...