1

global.asax ファイルにルーティング設定があります。

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

私の routeVideo.aspx ページにはキャッシュ設定があります:

<%@ OutputCache Duration="10" Location="ServerAndClient" VaryByParam="id" %>

しかし、この後http://localhost/video/6/example1http://localhost/video/6/example2をリクエストすると、ページが再度作成されます。したがって、VaryByParam は * で機能すると思いますが、id が変更されたときにのみコンパイルしたいのです。VaryByParam でルーティング パラメータを定義する方法はありますか?

title パラメータは私にとって重要ではないため、これが必要です。検索エンジン専用で、私のコードでは使用されていません。

4

3 に答える 3

4

VaryByParam は、疑問符 '?' に続くパラメーターを扱いますが、ルーティングすると、これがパスに隠されます。そのため、キャッシュは常に異なる URL を「参照」します。それを修正するには、変更します

"video/{title}?id={id}
于 2010-04-17T12:24:38.510 に答える
0

これを試して:

routes.MapPageRoute("video-browse", "video/{id}/{title}/", 
                    "~/routeVideo.aspx?id={id}"); 
于 2010-05-02T14:05:31.583 に答える
0

web.config でvalidateIntegratedModeConfigurationを false に設定する必要がある場合があります。

例えば。見る...

出力キャッシュはルーティングでは機能しません

于 2010-05-04T23:02:59.150 に答える