Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在MVC中使用outputcache_Asp.net Mvc_Outputcache - Fatal编程技术网

Asp.net mvc 在MVC中使用outputcache

Asp.net mvc 在MVC中使用outputcache,asp.net-mvc,outputcache,Asp.net Mvc,Outputcache,我宣布一项行动如下 [Route("{language}/Navigation/Test")] [OutputCache(Duration = 3600, VaryByParam = "none")] public ActionResult Test() { return View(); } 为了检查outputcache设置,我在view Test.cstml中添加了@DateTime.Now.Ticks.ToString() 困扰我的是,当我第一次运行时,视图被缓存,页面刷新返回相同

我宣布一项行动如下

[Route("{language}/Navigation/Test")]
[OutputCache(Duration = 3600, VaryByParam = "none")]
public ActionResult Test()
{
   return View();
}
为了检查outputcache设置,我在view Test.cstml中添加了
@DateTime.Now.Ticks.ToString()

困扰我的是,当我第一次运行时,视图被缓存,页面刷新返回相同数量的刻度。现在,如果我更改语言并设置勾号更改的数量,即缓存中不提供视图

我试图删除VaryByParam=“none”,但它总是产生相同的结果


这里的问题是,无论使用何种语言,如何为缓存视图提供服务。

VaryByParam
因URL中传递的参数而异。例如,URL www.stackoverflow.com/page?param1=5。由于
DE
EN
是不同的URL,因此在缓存中找不到该页面,因此它会请求一个新的URL

以分号分隔的字符串列表,用于更改输出缓存。默认情况下,这些字符串对应于使用GET方法属性发送的查询字符串值,或使用POST方法发送的参数。当此属性设置为多个参数时,输出缓存包含每个指定参数的请求文档的不同版本。可能的值包括none、*,以及任何有效的查询字符串或POST参数名称

底线:它基于URL,而不是路由。您可以根据查询字符串进行配置,但仅此而已