2012-02-22 7 views
1

の潜在的な問題は、私は、デバッグ中にこのことを気づき、それは文句を言わない生産で発生を確認するにしました私のMVC3ベースのアプリケーションでライブラリ。私はカスタマイズされたURLまたはサブドメインを使用していないので、各リクエストは、HTMLの標準バージョンまたはモバイルバージョンを返す前に、モバイルブラウザかどうかを調べるために分析されます。51degreesとIISのキャッシング、mvc3、出力

デバッグ中にIISがページの出力をキャッシュすることがあることに気付きました。私はこれがホームページで起こるのを見ただけです。キャッシュされるたびに、同じコンテンツがモバイルブラウザとデスクトップブラウザの両方に提供されていたので、明らかに間違っています。

ブラウザ側でページキャッシュを使用できないようにする方法がいくつかありますが、これを処理するための推奨される方法があるかどうかを確認したいと思いますか?

答えて

3

携帯と非携帯の両方のページで同じURLを使用していると思いますか?その場合は、次の設定を使用する必要があります。

Response.Cache.VaryByHeaders.UserAgent = true;

これにより、正しく構成されたキャッシュが、ユーザーエージェント文字列によって異なるバージョンのページを格納するようになります。

+0

これは、ユーザーにサイトのデスクトップ版からモバイルサイトへの切り替えを許可しない場合、またはその逆の場合にのみ機能します。スイッチを切り替えると、キャッシュされたバージョンが表示されます。キャッシングの分散は、.aspxbrowseroverrideのcookievaluesを考慮に入れてください。 –

+0

web.configでVaryByHeadersを定義することはできますか? –

関連する問題