問題タブ [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.
asp.net-mvc - 特定のコントロールの OutputCache が使用されているかどうかを確認するにはどうすればよいですか?
アプリケーション用に適切にフォーマットされた HTML メニューを生成する一般的な "menu.ascx" ユーザー コントロールを Asp.Net MVC に記述しようとしています。メニューは、データベース内のコンテンツと一連のリソース解決に基づいて生成されます...これらは、ViewModel の属性を介して PartialView に渡されます。
データベースとリソース ファイルへの往復回数を制限するために、menu.ascx コントロールで OutputCache ディレクティブを使用することは理にかなっています。私の意図は、VaryByParam=none および VaryByCustom 属性で OutputCache ディレクティブをマークし、global.asax でカスタム セキュリティ ルックアップを実装することです...
私の質問は、コントローラーで ViewModel を構築するときにデータ フェッチ操作をスキップできるように、menu.ascx の OutputCache がいつ使用されるかをどのように知ることができるかということです。
UserControl コードのサンプル:
asp.net - ASP.Net OutputCache を http と https で異なるように構成するにはどうすればよいですか?
ユーザーがブラウザで WebApp から安全でないページを開き、ページ A と呼び、そこにあるリンクをクリックすると、ページ B の安全なインスタンスに移動します。PageB に入ると、ユーザーはリンクをクリックして PageA の安全なインスタンス (既に表示され、OutputCache にある) に戻ることができます。PageA は PageB (安全な URL) にアクセスした後、別の URL を介してアクセスされていますが、実際には新しいものを作成するのではなく、以前にキャッシュされたコピーを取得していることに気付きました。デバッグ セッションでこの動作を確認したところ、ASP.Net がページの安全なコピーに同じ OutputCache アイテムを使用していたことに驚きました。
私の質問は、なぜこのようになっているのですか?また、ASP.Net OutPutCache に、安全な URL からのアクセスを、安全でない同等のものとは異なる/一意のアイテムとして扱うように指示するにはどうすればよいですか?
[バックグラウンド]
最近、Web サイトの画像をすべての画像に Scene7/Akamai を使用するように切り替えました。この結果、安全な接続で特定のページを表示するときに異なる Scene7 URL を使用するコードを追加しました。この OutputCache の問題により、セキュアな URL を出力するロジックを実行できず、ブラウザーの警告が表示されます。
asp.net - ASP.NETOutputCacheとポストバック
ASP.NETOutputCacheメカニズムを理解しようとしています。
LabelとLinkButtonを使用してテストページを作成しました。
ラベルテキストは、すべてのPageLoadの現在のサーバー日付でサーバー上で初期化されています。
私はこのディレクティブを使用しました:<%@ OutputCache Duration="600" VaryByParam="none"%>
初めてLinkButtonを押すと、ラベルに新しいテキストが表示されますが、もう一度リンクボタンを押すと、新しいテキストが表示されません。
これは、ポストバックごとに同じであるサーバーに転送されているパラメーターが原因であると思います。
OutputCachおよびポストバックコントロールを操作する方法はありますか?
asp.net - ASP.net - クエリ文字列によるキャッシュ (VaryByParam)
ASP.NET でキャッシュを実現するには、どのような状況でクエリ文字列 (VaryByParam) を使用する必要がありますか?
Webアプリケーションの場合の実際の状況の例を誰か挙げてもらえますか?
c# - asp.net mvcでプログラムによってOutputCacheの期間を中止する
OutputCache 属性を使用して、アクションの HTML 出力をサーバー側でキャッシュしています。
うまくいきましたが、コンテンツがめったに変更されない状況になりましたが、変更された場合、ユーザーが次の要求で新しいデータを確認することが重要です。
では、プログラムでページ キャッシュの期間を中止する方法はありますか?
c# - .NET:WebMethodの出力キャッシュ?
WebMethodの戻り値をoutputcachedにすることはできますか?たとえば、WebMethodが過去X秒または数分で呼び出された場合、実際にメソッドを再度実行するのではなく、最後に提供されたのと同じ結果を使用してください。または、クラス/ WebMethodの内部で独自のキャッシュをロールする必要がありますか?
.net - ASP.NET outputCacheProfilesをResponse.Cacheで使用できますか?
@OutputCacheディレクティブを使用する場合、web.configで次のようにキャッシュプロファイルを定義できます。
ただし、私のアプリには、宣言型の代わりにプログラムによるキャッシュを使用する必要があるページがいくつかあります。例:
Response.Cacheを使用してoutputCacheProfilesを活用することは可能ですか?例えば、
asp.net - Web アプリケーション全体で ASP.NET OutputCache をクリアする
あるasp.net Webアプリケーションの出力キャッシュを別のasp.net Webアプリケーション内からクリアすることは可能ですか?
理由は...次のような構造のWebアプリケーションがいくつかあります...
/area1/ と /area2/ のページはキャッシュされ、/intranet/cms/ を通じて管理されます。/intranet/cms/ を使用してページを編集するときに、適切な /area#/ アプリケーションでキャッシュから消去したいと考えています。
HttpContext.Cache に格納されている GUID を検索する VaryByCustom を使用してみましたが、Web アプリケーションごとにキャッシュされているようで、機能しません。
単一のサーバー上の Web アプリケーション間でデータを渡す方法があれば、+ VaryByCustom を使用できるため、問題は解決します。
ありがとう!
-マイク・トーマス
asp.net-mvc - ASP.NET MVC Webサイトでキャッシュが正しく機能していませんか?
ASP.NETMVCWebサイトでOutputCachingを使用しようとしています。問題は、クエリ文字列パラメータの1つの値を変更しようとすると、要求された最初のアイテムのデータが返されることです。
これが私のコードです(パラメータ名が変更されています)...
- 注1:ApiAuthorize-「Key」と呼ばれるクエリ文字列パラメータをチェックし、メモリ内のディクショナリをチェックして、存在するかどうかを確認するカスタム属性。
- 注2:HandleErrorAsJson-例外がスローされた場合にエラーメッセージをjsonとして返すカスタム属性。
これが私がこのアクションに対して行っている2つのサンプル呼び出しです:-
- / GET http://api.MySite.com/search/scorecard?foo=hello+world,+PewPew&key=abcd1234&bar=2
- / GET http://api.MySite.com/search/scorecard?foo=invalid+search+stuff&key=abcd1234&bar=2
したがって、最初の呼び出し(foo = hello world、Pew Pew)からのデータは200OKとして返されます。次に、2番目のAPI呼び出しは200 OKを返しますが、前の呼び出しのデータを使用します。
また、プロキシサーバーを使用していません。OutputCache属性をコメントアウトすると、すべて問題ありません。
私も次のことを試しました(キャッシュする必要があるたびに手動でリストします)....。
運がない:(
キャッシュの一意のキーの一部としてAPIの「Key」パラメータが含まれていることを確認する必要があることに注意してください。同じことを検索してほしくないのですが、2人目の人が正しいキーを持っていない場合は、キャッシュされた結果ではなく、エラーメッセージが表示されます(技術的には、401 Not Authorizedですが、いずれかの方法)...
考え?
.net - ASP.NetMVC-データをキャッシュに入れる前にgzipで圧縮することは可能ですか?
データをキャッシュに入れる前に結果をgzipで圧縮できるかどうか誰かが知っているかどうか疑問に思っています...私が持っているCompressAttributeと組み込みのOutputCacheAttributeを使用したいことに注意してください。ジェフA.がいくつかのポッドキャストでそれについて話しているのを聞いたので、私はそれが可能であるとかなり確信しています...
属性が処理される順序を変更できることはわかっていますが、これはヘッダーにgzipを入れて、フィルターをGZipStreamに設定する以外に何もしないようです...このメソッドを使用する場合、実際の場合はわかりません圧縮が発生します...
最初に圧縮したい理由はかなり単純です。サーバーでgzipを1回だけ実行してから、結果をキャッシュしたいからです...したがってCPUサイクルを節約できます...
乾杯アンソニー