如何在MVC应用程序中的Session中存储数据并将其直接插入数据库?

时间:2014-03-05 15:53:18

标签: asp.net-mvc performance caching

我正在MVC网站上展示产品。需要跟踪用户查看的每个产品并将日志存储在数据库中。

因为每次页面加载时我都不想命中数据库,所以我试图将日志存储在应用程序级缓存中。问题是:我如何将缓存中的数据转储到数据库中?是否有任何框架为我做过这个,或者是针对这个问题的最佳实践?

1 个答案:

答案 0 :(得分:1)

ASP.NET不是为托管后台任务/作业而设计的,但可以这样做,尽管它不是100%可靠。

创建一个包含计时器的工作类,该计时器触发每个X间隔并清空应用程序缓存并将数据保存到数据库。在global.asax中,为Application_Start创建一个处理程序,并从那里调用worker类的init方法。

还要在您通过global.asax中的Application_Stop事件处理程序调用的worker类中公开flush方法,以确保在应用程序关闭之前清除所有未完成的数据。