MVC的输出缓存中都有些什么参数?
发布网友
发布时间:2022-04-08 03:12
我来回答
共1个回答
热心网友
时间:2022-04-08 04:41
输出缓存允许我们将特定控制器中的操作输出并存储到内存中,然后ASP.NET再次响应请求时,可以直接从缓存中读取结果,而不需执行控制器操作方法中的代码。这样我们执行的代码更少、提高应用程序的性能,但是使用缓存时必须非常小心,避免响应错误的请求。
MVC中的输出缓存包含的参数有:Duration、VaryByParam、Location、VaryByHeader、VaryByCustom等等,不同的参数有着不同的含义。下面我就把从秒秒学网站上看到不同参数的意义告诉你吧:
VaryByParam:使用“*”符号表示缓存所有的参数,对每个唯一的请求组合参数,将缓存一个页面。使用“none”通常缓存相同的文本内容,不会考虑任何参数。使用“name”用于缓存参数值为name的页面。
Location:设置缓存的位置,默认值是任何地方。输出缓存可位于产生请求的浏览器客户端、参与请求的代理服务器(或任何其他服务器)或处理请求的服务器上。
VaryByHeader:VaryByHeader参数允许我们改变基于特定的HTTP头文件的缓存,比如不需要的语言。当有人需要德语文本时,就不需要返回一个包括英语文本的响应。
VaryByCustom:VaryByCustom需要重写global.asax. cs 文件中的一个方法。在这个方法中,可以构建自定义的缓存字符串来告诉ASP.NET需要缓存的对象,并进行分类,同样可以查看请求中包括的标题或者值。这里不进行过多的讲解,如果想了解更多,可以查看MSDN上的例子。
SqlDependency:标识一组数据库或表名称对的字符串值,页或控件的输出缓存依赖于这些名称对。一个SqlDependency将缓存响应,直到sql server表格中的数据进行了改变,这听起来很好,但是没有被广泛使用,这是因为在使用sql查询时,有大量的约束。
输出缓存中还包含其他的参数,如果你想了解更多,或者想知道这些参数的具体使用,也可以上秒秒学网站学习,上面有很详细的讲解。