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不会丢失。

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

相关内容

热门资讯

一向有辅助"来玩德州... >>您好:来玩德州破解器确实是有挂的,很多玩家在这款来玩德州破解器游戏中打牌都会发现很多用户的牌特别...
透视规律!佛手在线大菠萝技巧,... 透视规律!佛手在线大菠萝技巧,新九天辅助(透视)开挂辅助器详细教程;打开点击测试直接进入微信(136...
指南开挂"大咖娱乐破... 指南开挂"大咖娱乐破解器"开挂(辅助挂)辅助软件(有挂方式);无需打开直接搜索加薇136704302...
原先有开挂"soho... 原先有开挂"sohoo辅助"开挂(透视)辅助插件(wepoke教程有挂技巧);亲,sohoo辅助这款...
窍门辅助"蜀山四川辅... 窍门辅助"蜀山四川辅助脚本多少钱"开挂(脚本)辅助安装(有挂分享)>>您好:软件加136704302...
透视美元局!欢乐茶馆脚本辅助,... 透视美元局!欢乐茶馆脚本辅助,新西部大厅辅助(透视)开挂辅助下载AI教程;无需打开直接搜索薇:136...
本来有开挂"菜鸟黑桃... 本来有开挂"菜鸟黑桃a3辅助"开挂(透视)辅助下载(AI教程有挂教学)>>您好:软件加1367043...
步骤辅助"水鱼辅助软... 步骤辅助"水鱼辅助软件下载"开挂(辅助挂)辅助神器(真的有挂);无需打开直接搜索打开薇:136704...
透视教程!闲逸app有脚本吗,... 透视教程!闲逸app有脚本吗,wejoker内置辅助(透视)开挂辅助脚本可靠技巧【无需打开直接搜索加...
往昔有辅助"wepo... 往昔有辅助"wepoker有脚本吗"开挂(透视)辅助安装(必胜教程有挂总结)>>您好:软件加1367...