2010-02-04 46 views
0

根据某些路由值,我有一个具有不同结果的Action。通过RouteValue进行缓存

www.mysite.com/Home/About/Value1www.mysite.com/Home/About/Value2不同。

我有什么机会可以使用OutputCache关于控制器家有不同的输出www.mysite.com/Home/About/Value1www.mysite.com/Home/About/Value2?我知道我可以在模型级别使用缓存,但是我想在动作上使用OutputCache

编辑

www.mysite.com/Home/About/Value1然后www.mysite.com/Home/About/Value2实际上有不同的缓存条目由列维

回答

1

简单地说了[OutputCache()]属性添加到您的关于操作方法。如果你想改变它,你可以使用OutputCache attribute中的一个参数。

+1

没有考虑RouteValues的参数。只支持HttpParameters的差异(查询字符串等) – 2010-02-04 11:48:40

+2

[OutputCache]已根据RouteValues而变化。这只是自动发生,因为ASP.NET输出缓存与特定的URL相关联,并且RouteValues是URL中的组件。因此/ Foo/Value1将与/ Foo/Value2分开缓存。 – Levi 2010-02-04 17:51:40

+0

@Levi你是对的。我的差异测试是错误的。 – 2010-02-07 12:06:23