System.Runtime.Caching.MemoryCache可以在生产中的用户之间保持应用程序

时间:2017-12-16 07:04:22

标签: caching asp.net-web-api asp.net-web-api2 memorycache output-caching

我创建了一个webapi2应用程序,其中包含angular2应用程序和对webapi的角度服务调用,如果webapi已关闭,则必须从缓存加载数据,缓存在20分钟后过期。

我正在使用内存缓存来缓存webapi中的数据。它在本地应用程序中运行良好。

在生产中迁移到iis时,它将面向所有用户使用,或仅适用于特定用户。

这是该应用的主页,他们没有身份验证。所以每个人都可以看到该页面。

否则 在上面的场景中,哪种缓存机制会起作用?

输出缓存 - 或内存缓存或webapi2的任何其他缓存策略。

1 个答案:

答案 0 :(得分:0)

关于webapi中的缓存 当您在Web应用程序中缓存数据时,该应用程序将缓存该应用程序,即对所有人来说是公共数据的公共数据,即意味着当您缓存缓存时,您对应用程序发出的每个请求都可以使用缓存数据适用于应用程序中的所有用户。

您可以做的一件事是创建所需的缓存类型,但是,在提供缓存数据的方法上放置[Authrized]属性,它允许仅向登录应用程序的用户访问缓存。

我在WebAPI中创建并使用了基于文件的缓存,优点是,当文件被修改时它会过期,所以在文件被修改之前没有查询数据库,现在问到何时修改文件:我修改文件时对我正在缓存的数据进行插入,更新,删除。