gpt4 book ai didi

c# - 如何在 MVC 中使用 session 变量

转载 作者:可可西里 更新时间:2023-11-01 08:04:25 26 4
gpt4 key购买 nike

我在“Global.asax”文件中声明了 Session 变量,

protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
int temp=4;
HttpContext.Current.Session.Add("_SessionCompany",temp);
}

并希望将此 session 变量用于我的 Controller 的操作中,

 public ActionResult Index()
{
var test = this.Session["_SessionCompany"];
return View();
}

但是我在访问 session 变量时出现异常。请帮助我了解如何将 session 变量访问到我的 Controller 的操作中。

我收到一个异常“对象引用未设置为对象的实例”Application_Start 中的 Global.asax 上线

HttpContext.Current.Session.Add("_SessionCompany",temp);

最佳答案

启动Application的线程不是用户向网页发出请求时使用的请求线程。

这意味着当您在 Application_Start 中设置时,您并没有为任何用户设置它。

您想在 Session_Start 事件上设置 session 。

编辑:

向名为 Session_Start 的 global.asax.cs 文件添加一个新事件,并从 Application_Start 中删除与 session 相关的内容

protected void Session_Start(Object sender, EventArgs e) 
{
int temp = 4;
HttpContext.Current.Session.Add("_SessionCompany",temp);
}

这应该可以解决您的问题。

关于c# - 如何在 MVC 中使用 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20350327/

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