如何将VaryByParam与多个参数一起使用?

时间:2010-08-21 15:18:08

标签: asp.net-mvc-2 outputcache

在ASP.NET MVC2中,我使用OutputCacheVaryByParam属性。我用一个参数就可以正常工作,但是当我在方法上有几个参数时,正确的语法是什么?

[OutputCache(Duration=30, VaryByParam = "customerId"]
public ActionResult Index(int customerId)
{
//I've got this one under control, since it only has one parameter
}

[OutputCache(Duration=30, VaryByParam = "customerId"]
public ActionResult Index(int customerId, int languageId)
{
//What is the correct syntax for VaryByParam now that I have a second parameter?
}

如何使用这两个参数来缓存页面?我输入两次添加属性吗?或者将“customerId,languageId”写为值??

2 个答案:

答案 0 :(得分:189)

您可以对所有参数使用*或使用分号分隔列表(VaryByParam = "customerId;languageId")。

如果您不希望它缓存不同的版本,您也可以使用none ....

Here's a nice write up specifically for MVC

答案 1 :(得分:0)

您还可以使用*包含所有参数

 [OutputCache(Duration =9234556,VaryByParam = "*")]