web-dev-qa-db-ja.com

複数のパラメーターでVaryByParamを使用するにはどうすればよいですか?

ASP.NET MVC2では、OutputCacheおよびVaryByParam属性を使用します。単一のパラメーターでうまく動作しましたが、メソッドに複数のパラメーターがある場合の正しい構文は何ですか?

[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?
}

両方のパラメーターを使用してページをキャッシュするにはどうすればよいですか?入力して属性を2回追加しますか?または、値として「customerId、languageId」を書き込みますか?

100
Frode Lillerud

すべてのパラメーターまたはセミコロンで区切られたリスト(VaryByParam = "customerId;languageId")。

異なるバージョンをキャッシュしたくない場合は、noneを使用することもできます。

MVC専用の素敵な記事

189
klabranche

*を使用してすべてのパラメーターを含めることもできます

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