我需要在我的 C#/ASP 项目中存储一个全局可访问的列表 - 将其存储在服务器上的全局应用程序中而不是数据库中 - 因为仅在应用程序运行时才需要数据。
到目前为止,我已尝试在应用程序启动中创建一个列表(Global Asax)
activePages= new List<ActivePage>(); Session["activePages"] = activePages;
这显然失败了,因为我此时无法设置 session 。正确的做法是什么?
理想情况下,我希望能够在应用程序启动时设置一个空白列表,并从任何 session 添加到该列表(即我可以同时从我的电脑和笔记本电脑添加到此列表)
我已经有了完成所有添加和管理的代码,但找不到全局保存此列表的方法。另外,我如何在应用程序的其他页面上使用此列表?我以前确实没有接触过全局 asax。
最佳答案
你需要看看Application State 。使用 Session
不会解决您的问题,因为每个用户访问您的应用程序时,都会创建一个新 session 。此外,一段时间不活动后,Session
会被销毁。
void Application_Start(object sender, EventArgs e)
{
List<ActivePage> activePages= new List<ActivePage>();
Application["ActivePages"] = activePages;
}
关于c# - 通过 global.asax 在应用程序中保留数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14625696/