会话在ASP.NET MVC 5中间歇性地失去了它

时间:2016-10-21 02:24:36

标签: c# asp.net-mvc-5

你是否看到会话断断续续地失去价值的原因?

    public ActionResult Index(string app) // this view hits the Create Controller on a form post event
    {
       Session["appType"] = app;         
       return View();
    }
    [HttpPost]
    public ActionResult Create(string userName, string password)
    {
        string a = Session["appType"].ToString(); // throws object reference error.
    }

1 个答案:

答案 0 :(得分:2)

  1. 检查web.config中的sessionState元素。在超时(以分钟为单位)不活动后,您将失去会话。
  2. 您会看到以下代码:

    <sessionState mode="SQLServer"
        cookieless="true "
        regenerateExpiredSessionId="true "
        timeout="30"
        sqlConnectionString="Data Source=MySqlServer;Integrated Security=SSPI;"
        stateNetworkTimeout="30"/>
    
    1. 您是否可以在负载均衡器后面运行此应用程序?如果是这样,它可能不会在会话期间将您的用户路由到同一台计算机。