首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ASP/MVC中长时间持有变量

在ASP/MVC中长时间持有变量
EN

Stack Overflow用户
提问于 2016-09-01 03:23:09
回答 1查看 83关注 0票数 1

在我的ASP.NET-MVC应用程序中,我使用静态变量将信息存储在静态类中。但之后ASP.NET会回收所有数据和线程,并且我的"App_Start"-procedure将在清理后调用。

我用HangFire解决了备份任务的问题。但是要生成static-class,我需要很长时间。循环之后的第一个请求必须等待静态类的设置。

为什么要延迟?我正在使用EntityFramework,为了正确处理,我需要数据库中的所有记录及其关系。因此,我使用静态类保存所有记录,并使用数据库作为第二个策略。

我不知道我可以做些什么来提高性能。我的第一个想法是序列化完整的数据-但是反序列化具有2K或更多记录的ArrayList的性能如何?有没有办法防止我的静态ArrayList被回收?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-01 03:32:17

我建议您使用ASP.NET的application cache机制。然而,默认情况下,缓存仍然在内存中,并在进程中维护,因此应用程序池回收仍然会将其清除。解决方案是更改应用程序缓存的存储位置,使其处于不同的进程中。有关如何存储应用程序缓存的一些建议,请参阅this answer

简而言之,我不建议尝试避免应用程序池回收,因为它真的可以为您省去很多麻烦。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39257496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档