問題タブ [outputcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
outputcache - OutputCache が全期間にわたってキャッシュされない
簡単なテストケースを作りました。
default.asp:
web.config:
default.asp を 2 回要求すると、ページがキャッシュされます。datetime 値は一定期間は同じですが、1 時間全体ではありません。
この開いている default.asp 要求をテストするには、キャッシュされるまでページを要求し、5 分間待ってからページを更新します。
Windows 7 + IIS7.5 を使用しています
c# - ASP.NET MVC: OutputCache 属性の HTTP ステータス コードによるフィルタリング/変更
私が書いている ASP.NET MVC サイトでは、このチュートリアルに従って、HttpModule によってルーティングされる一般的なエラー アクションを作成しています。このアクションでは、HttpModule 内の応答に適用されるステータス コードに対応するビューを返します (これを行った後、モジュールは要求を問題のアクションに転送します)。
キャッシングを実装したいことを除いて、それはすべて良いことです。OutputCache
ページが一度キャッシュされることを意味するため、フィルタリング/可変せずに属性を使用したくありません。可能なステータスコードごとにページを1回キャッシュしたい。
OutputCacheAttribute
各 Response.StatusCode が個別にキャッシュされるように、何らかの方法で のプロパティをフィルタリング/変更することは可能ですか?
asp.net - OutputCacheエントリを一覧表示します
私のasp.netmvcアプリケーションでは、別のアクションメソッドでOutputCache属性を使用しています。OutputCache属性に関連するキャッシュの現在のエントリを表示することは可能ですか?私System.Web.HttpContext.Current.Cache
がこのタイプのエントリを見つけられない場合。よろしくお願いしますF。
c# - Webフォームのoutputcachingvarybyparamsはルートパラメーターを理解しますか?
WebフォームのoutputcachingVaryByParamsはルートパラメーターを理解しますか?"Content/{filename}/{more}"
私ができるのと同様のルートがVaryByParams="filename"
あり、ファイル名に基づいてキャッシュされた結果を返し、moreの値を無視するようにするにはどうすればよいですか?
asp.net - ASP.NET キャッシュされたコントロールの再作成
キャッシングに関して抱えていた問題のほとんどを解決しました。しかし、まだ 1 つのことがあります。出力キャッシュを使用する UserControl があります。ちょうどこのような:
ただし、ご覧のとおり、コントロールの生成には 5 ~ 10 秒かかるため、コントロールは 12 分ごとに再作成されます。
現在、ASP.NET のデフォルトの動作は、ユーザーがページに入ったときにコントロールを作成し、それを 12 分間キャッシュに保持することです。次に、さらに 5 分後にユーザーがページに入ると、コントロールが再び作成されます。
12 分間のキャッシュの有効期限が切れた後、ASP.NET に強制的にコントロールを再作成させる方法はありますか? 次のユーザーの訪問に問題はありませんか?
または、完璧な解決策です。たとえば、11 分 50 秒後にバックグラウンドでコントロールを再作成し、12 分後に実際のコントロールを新しいものに置き換えるだけではありませんか?
手伝ってくれてありがとう!
javascript - 動的に生成された JavaScript ファイルがキャッシュされないようにするにはどうすればよいですか?
ブラウザによって決してキャッシュされないようにしたい、動的に生成された JavaScript ファイルがあります。私の現在の方法は、各ページ ビューの script タグの URL に (新しい) GUID を追加するだけです。
例えば:
私の質問は...これが私の目標を達成するための最良の方法ですか?
参考までに、私は ASP.NET MVC 2 を使用しており、コントローラー アクションの結果として JavaScript ファイルが生成されています。
c# - ASP.NET: ログアウト時にクライアント出力キャッシュをクリアする
私の Web クライアントは、独自の [戻る] ボタンと [進む] ボタン (基本的にはブラウザーの [戻る]/[進む] ボタンを呼び出すだけ) を使用するため、クライアント側の出力キャッシュが必要です。
ただし、私が抱えている問題は、(もちろん) ユーザーがアプリからサインアウトするときです。クライアント側の出力キャッシュは残っているため、誰でも「戻る」ボタンをクリックすると、再度サインインしたように見えます。私はいくつかの解決策を調査しましたが、ほとんどの場合、サーバー側の出力キャッシュを使用するか、出力キャッシュをまったく使用しません。
サーバーのキャッシュと HttpResponse.RemoveOutputCacheItem で成功しましたが、残念ながらクライアント側のキャッシュが必要です。
ログアウト時にこのクライアント側の出力キャッシュをクリアすることはまったく可能ですか?
asp.net-mvc - ASP.NET MVCサイト全体のブラウザーキャッシュをオフにするにはどうすればよいですか?
サイトのすべてのページでブラウザのキャッシュを無効にしたいのですが。アクションごとに実行できることはわかっていますが、サイト全体で実行できる方法があるかどうかを知りたいです。
c# - 状態のある動的ページの OutputCache
アプリケーションのパフォーマンスを向上させるためにキャッシュしようとしている多くのデータベース クエリを作成する ASPX ページがあります。ページは次の 3 つの状態のいずれかになります。
- 動的データを待機しています。
- 動的データの表示。
- 動的データの表示が完了しました。
動的データの DateTime は、"Id" GET パラメータでロードしたオブジェクトに格納されます。以下のような挙動でお願いします。
a> ユーザーは、ページの状態が 1 のときに "MyPage.aspx?Id=x" を参照します。最初の読み込みで、ページはデータベースを調べ、新しいデータを取得する予定の DateTime を取得し、それまでページをキャッシュします。日にち。
b> ユーザーは、そのオブジェクトの DateTime の後に "MyPage.aspx?Id=x" を参照します (別名、状態 = 2)。最初のロードでは、キャッシュの有効期限が切れているため、ページが動的に生成され、最新のデータベース データが表示されます。後続のユーザーのパフォーマンスを向上させるために、ページは 30 秒間キャッシュされます。
c> 状態が 3 に変わった後、ユーザーは "MyPage.aspx?Id=x" を参照します。ページは変更されないため、データベースを調べ続ける必要はありません。キャッシュは 1 か月で期限切れになるように設定されています (または、可能であれば期限切れになりません)。
私は次のコードでこれをやろうとしました(私の状態は「保留中」、「進行中」、「完了」と呼ばれています):
これが期待どおりに機能するかどうかはわかりません。FireBug でテストしましたが、Cache-Control ヘッダーは「no-cache」に設定され、キャッシュの有効期限は「Wed Dec 31 1969 18:00:00 GMT-0600 (Central Standard Time)」に設定されています。 . 上記の Response.Cache 行をコメントアウトすると、キャッシュ制御ヘッダーが「プライベート」に設定され、キャッシュの有効期限が上記と同じに設定されます。
ここで私が間違っていること、またはそれをよりよくテストする方法について何か考えはありますか?
ありがとう!
c# - ユーザーが認証されているかどうかに基づいてビューコンテンツを変更しながらASP.NETMVCOutputCacheを使用する
OutputCacheパラメーターを多用しているASP.NETMVC2サイトを構築しています。ただし、懸念があります。このようなキャッシュを使用すると、認証が妨げられる可能性があります。
すべてのページに、ユーザーがログインしているかどうかを表示します。さらに、一部のビューでは、ユーザーの役割に基づいてフィルタリングを行い、一部のページコンテンツを表示するかどうかを決定します(たとえば、いずれかのページの[編集]リンクは、モデレーターまたは管理者の役割のユーザーにのみ表示されます) 。
OutputCacheを使用すると、ビューのこの動的な変更が妨げられますか?もしそうなら、どうすればキャッシュを排除せずにこの問題を解決できますか?