2010-02-04 47 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