一千萬個為什麽

搜索

在VaryByParam中為Asp.Net 4排除路由參數

我在global.asax文件中有一個路由設置:

routes.MapPageRoute("video-browse", "video/{id}/{title}/", "~/routeVideo.aspx");

我的routeVideo.aspx頁面有緩存設置:


但是當我請求 http:// localhost/video/6/example1http:// localhost/video/6/example2 此後,再次創建頁面。所以我認為VaryByParam適用於*但我只想在id更改時進行編譯。有沒有辦法在VaryByParam中定義路由參數?

我想要這個,因為標題參數對我來說並不重要。它僅適用於搜索引擎,並且不會在我的代碼中使用。

最佳答案

VaryByParam處理問號“?”後面的參數,但您將路由隱藏在路徑中。這就是為什麽緩存始終“看到”不同的URL。 修復它的變化

"video/{title}?id={id}

轉載註明原文: 在VaryByParam中為Asp.Net 4排除路由參數