0

Microsoft CacheManagerを使用するときに、キーの競合を防ぐ良い方法はありますか?誰かが私と同じキーを使用する別のクラスを作成し、それがすでに使用されていることに気付かないようにするにはどうすればよいですか?各Webページは個別のキャッシュマネージャーを使用する必要がありますか?

これは共有するのを難しくします。セッションの使用についても同じだろうか。キーを管理し、それらを一意に保つための良い方法はないようです。

名前空間の概念を使用する他のキャッシュソリューションを見てきました。これは、Webページ名を名前空間として使用して一意性を維持し、次に共有したいもののグローバル名前空間を使用できる場合に意味があります。私が言ったように、同じことがおそらくセッションにも当てはまります。

エンタープライズライブラリドキュメントのこの例でさえ、特定の従業員IDに対して複数の種類のオブジェクトを格納するための優れた方法はないと思わせるでしょう。

cache.Add(employeeId.ToString(), photoData, 
   CacheItemPriority.High, null, 
   new ICacheItemExpiration[] { expiry });

必要なものがすべて揃ったマスターオブジェクトを1つ保存する必要がありますが、これはやりたくないことです。または、ネストされた辞書の束になってしまいます。この問題に最善の方法で取り組む方法について何かアイデアはありますか?

4

2 に答える 2

1

命名スキームを作成するだけです。例:「Path / To/File.Component.Object.Object2.Property」

それはユニークなはずです。次に、いくつかのユーティリティメソッドを自分で作成します。そうすれば、文字列を手動でコピーして貼り付ける必要がなくなります。

于 2012-06-21T20:09:53.437 に答える
1

ユースケースに応じて、私が見たいくつかのオプションがあります。

  • Resourcesキーをまたはに保存できますSettings
  • GUID発信者が生成するsを使用できます
于 2012-06-21T19:10:49.083 に答える