問題タブ [system.web.caching]
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 - ジェネリックを使用した巧妙なキャッシュ?
System.Web.Caching.Cache クラスの上に座って、ジェネリックを使用してアイテムをフェッチする単純なシナリオを処理するための巧妙なレイヤーはありますか。
アイテムを取得するためのデリゲート関数を提供し、厳密に型指定された GetItem とデリゲート関数を使用してアイテムを取得し、アイテムが見つからない場合はアイテムを取得できるようにしたいと考えています。
例えば
また、単一のオブジェクトのみを処理するキャッシュを処理するための優れた方法も必要です。
ASP.NET キャッシュ オブジェクトは、非常に原始的なように見えます。タイムアウトのあるハッシュテーブルのようです。彼らは、私が気にするすべてのためにそれを HashtableWithTimeout と呼ぶだけかもしれません。もっといい吸引力が欲しい。これは、キャッシュ アプリケーション ブロックが私のために行うようなことですか?
はい、これはかなり単純なコードであることはわかっています。今は車輪を再発明する時間がありません。
.net - Cache.Add 絶対有効期限 - UTC ベースかどうか?
Cache.Addの例はDateTime.Now.Add
、有効期限を計算するために使用します。つまり、合格します。
パラメータの値としてabsoluteExpiration
。
相対的に計算する方がより正確だと私は考えていたDateTime.UtcNow
でしょう[現在と有効期限の間の中間時間にサマータイムが開始される場合、あいまいさはないため]。
が導入される前はDateTimeKind
、時刻が UTC 時刻でない場合に適切な処理を行うために、キャッシュ管理にいくつかの醜いハックがあると推測していました。
.NET 2.0 以降では、推論で入力として使用する必要があるため、DateTime
計算されたものをDateTime.UtcNow.AddSeconds(60)
正しく処理する必要があると推測しています。DateTime.Kind
私は何年も自信を持ってDateTime.UtcNow
ベースとして使用してきましたが、ドキュメントが4年以上にわたって非常に誤解を招くものであったことを指摘するものが何もない場合、これが間違いなく正しいことであるという理論的根拠を思いつくことができませんでした.
質問?
- 多くのどんちゃん騒ぎとグーグルにもかかわらず、MSからこれに関する信頼できる議論を見つけることができませんでした.これに関して誰かが何かを見つけることができますか?
- UtcNow を使用することがより正確かつ/または安全ではない理由はありますか?
(はい、ソースおよび/またはリフレクターのソースを熟読できますが、完全な一撃ごとのローダウンを探しています!)
c# - asp.net c#のSystem.Web.Caching.Cache.NoSlidingExpiration
System.Web.Caching.Cache.NoSlidingExpiration
ASP.NETで教えてください。
asp.net - System.Web.Caching.Cacheが時間どおりに更新されないようですか?
私はSystem.Web.Caching.Cache
自分のウェブサイトで使用されているアセンブリで使用しています。キーの有効期限(絶対有効期限)を10秒に設定しました(デバッグ用)。また、キーの削除時にコールバックを設定しました。
問題は、キャッシュが10秒ではなく20秒後に更新されていることです。
私はHttpRuntime.Cache
これに使用しています。
なぜそれが起こっているのかについての提案はありますか?
より多くの光を当てることができるコードサンプルを示したいと思います。
ここでは、を使用しPage.Cache
ました。更新は3秒ごとに行う必要があります。以下のプリントアウトが示すように、実際には40秒ごとに実行されます。
Updated Cache at 1/28/2011 1:38:20 AM
Updated Cache at 1/28/2011 1:38:40 AM
Updated Cache at 1/28/2011 1:39:00 AM
Updated Cache at 1/28/2011 1:39:20 AM
Updated Cache at 1/28/2011 1:39:40 AM
Updated Cache at 1/28/2011 1:40:00 AM
Updated Cache at 1/28/2011 1:40:20 AM
Updated Cache at 1/28/2011 1:40:40 AM
Updated Cache at 1/28/2011 1:41:00 AM
Updated Cache at 1/28/2011 1:41:20 AM
Updated Cache at 1/28/2011 1:41:40 AM
Updated Cache at 1/28/2011 1:42:00 AM
Updated Cache at 1/28/2011 1:42:20 AM
Updated Cache at 1/28/2011 1:42:40 AM
何が問題なのか?
asp.net-mvc-2 - 項目がキャッシュ (System.Web.Cache) に存在するかどうかを確認する方法は?
やあ、
キーがキャッシュに既に存在するかどうかを確認するには、次のことができるはずです。
しかし、これは機能しませんか?Cache クラスからインスタンスを作成すると、次の方法でオブジェクトを取得できます。
しかし、このように null をチェックしても:
NullRefException をスローしますか?
私は何を間違っていますか?
編集1:
これは、キャッシュをインスタンス化する方法です
visual-studio-2005 - IIS 5.1 を実行している XP で Web.Caching を使用する
環境: IIS6 で実行されている ASP.Net 2.0 のサイトで作業しています。VS2005 と VB を使用して、IIS 5.1 を実行する WinXP でローカルに開発しています。
問題: System.web.caching.cache を使用して、いくつかのビジネス レイヤー オブジェクトのキャッシュを作成しようとしています (実際にはキャッシュ レイヤーを作成しています)。これは System.Web 名前空間で利用できるはずですが、アクセスできるのは AspNetHostingPermission、AspNetHostingPermissionAttribute、および AspNetHostingPermissionLevel (プロジェクトで System.Web への参照があり、クラスでインポートされている) だけです。表示されない他のクラス (HTTPRuntime など) もかなりあります (これは、「SQL キャッシュ依存関係の使用」チュートリアルhttp://www.asp.net/web-forms/tutorials/data-access/cachingによるものです)。 -data/using-sql-cache-dependencies-vb )。
私はロープの終わりにいて、これを説明するものをそこに見つけることができないようです. 誰かがこの状況にあり、これを以前に見たことがありますか? これを解決するための助けは大歓迎です!
asp.net - アプリケーション間でのASP.NETMemoryCacheの共有
.Net Framework 4.0以降の新しいMemoryCacheクラスについて、あちこちで読んでいます。私が読んだことから、さまざまな.Netアプリケーション間でMemoryCacheにアクセスできます。Asp.Netアプリケーションと標準のWindowsフォーム.Netアプリケーションの間でオブジェクトを共有しようとしています。オブジェクトを.NetアプリケーションのMemoryCacheに追加すると、Asp.Netアプリケーションはそのオブジェクトを認識しません。これを達成する方法はありますか?どうぞよろしくお願いいたします。
Windowsフォームアプリ:
Asp.Netアプリ:
ありがとう-ライアン