こんにちは、私は以下の特定のページで複数回呼び出すと、午前1つのユーザーコントロールを持っているで複数のデータを格納するための方法として、複数回呼び出され今では、キャッシュのC#
private void BindMenu()
{
string menuContent = (string)Cache[_CacheKey];
if (string.IsNullOrEmpty(menuContent))
{
menuContent = GenerateMenu(CategoryId, 1);
Cache.Add(_CacheKey, menuContent, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
}
phMenu.Text = menuContent;
}
バインドメニューのコードです1,2,3のような別のカテゴリIDを渡しています。
しかし、1のカテゴリIDが渡されると、キャッシュにデータが格納され、同じページでユーザーの制御が繰り返されると、常にキャッシュに格納されたデータが表示されます。
私はキャッシュロジックを削除しようとしましたが、データが反映されているのは私の結果によるが、ページの読み込み時間が増えています。
ヘルプが必要ですか? Webユーザーコントロールにパラメータを渡すためにキャッシュを使用し
解決される問題
private void BindMenu()
{
string menuContent = (string)Cache[_CacheKey+Convert.ToString(CategoryId)];
if (string.IsNullOrEmpty(menuContent))
{
menuContent = GenerateMenu(CategoryId, 1);
Cache.Add(_CacheKey+Convert.ToString(CategoryId), menuContent, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
}
phMenu.Text = menuContent;
}
あなたはキャッシュのためにどのようなキーを使用していますか? –
私は決してキャッシュを使用していませんでした。 キャッシュキーが違う場合はキャッシュキーが一致するようにするために、キャッシュキーは同じ@ – Xtremcool
@PeterBonsでなければなりません。 – Xtremcool