私はMVC3からMVC4へのアプリケーションのアップグレードに取り組んでいます。ASP.Net MVC4 Mobile-Aware OutputCache
CODE:
[OutputCache(Duration = 600, VaryByParam = "none")]
public ActionResult Index()
{
return View();
}
これは、ASP.Netのための一例をキャッシュ教科書です。ブラウザがページにヒットするたびに、キャッシュが存在するかどうかを確認し、存在しない場合はビューを生成し、キャッシュされた結果を送信します。
これは素晴らしい動作です。しかし、MVC4のモバイルビュー機能を使いこなしてみると、上記のコードは、リクエストがモバイルデバイスからのものかどうかをチェックしていないことに気付きました。したがって、デスクトップ上のそのルートに当たった場合、キャッシュが無効になるまでデスクトップビューが私の電話機に表示されます。逆の場合も同様です(最初に電話でページを表示すると、代わりにモバイルビューが表示されます)。
私は期待どおりのこの作業を行うために使用できるパラメータがありますか、または顧客のOutputCacheProviderの構築を検討していますか?
非常に興味深い、私がいますシミラの問題、ありがとう! – Pelle
デスクトップビューに切り替えることはこのコードでは機能しません。このページは、切り替えの代わりに単に更新されます。 context.GetVaryByCustomStringForOverriddenBrowser()を代わりに使用してください。 –