在MVC 5中管理缓存回调



我在.NET 4.6.2,MVC 5. CACHING使用MemoryCache。我的缓存完全写在控制器中,并带有删除项目的回调,但后来我记得在请求范围中创建了控制器。我认为这意味着我的回调不会发射,因为控制器已在此点处置。

处理此问题的最佳方法是什么?我知道我可以从控制器中查询缓存,这不是问题,但是我的问题是我应该如何处理回调的缓存。

我唯一能想到的就是在管理缓存的后台运行的单身服务。这意味着我可以将其注入Application_Start并处理初始化,但是我总是对使用单例。

我应该如何处理MVC 5中的缓存回调?在我看来,它在控制器内部工作并不是因为控制器是每次重新创建的。

我最终使用了略有不同的方法。控制器仍在控制器中处理缓存,但我取消了回调。控制器试图访问缓存的数据,如果不存在,则将重新填充。这解决了我在仍然能够使用缓存的同时提出的问题。

最新更新