0

eBay ASP.NET SDK を使用して、eBay のバック オフィス システム内にアイテムをリストするシステムを構築しようとしています。

eBay カテゴリの読み込みはそれほど速くなく、頻繁に変更されることもないので、これから行うリクエストからの応答をキャッシュすることにしました。

eBay カテゴリのリストを eBay として返す関数がありCategoryTypeCollection、それをキャッシュしてからチェックし、必要に応じて新しいものを取得しようとしています。

Dim CategoryList As New CategoryTypeCollection
If HttpRuntime.Cache.Get("eBayCategories") Is Nothing Then
    CategoryList = Categories.DisplayCategories()
    HttpRuntime.Cache.Insert("eBayCategories", CategoryList, Nothing, DateTime.UtcNow.AddMinutes(30), TimeSpan.FromMinutes(0))
Else
    CategoryList = HttpRuntime.Cache.Get("eBayCategories")
End If

ただし、常に新しいデータを取得しています。

これははるかに大きなプロジェクトの一部であり、キャッシングは他の目的で機能しています。ここで何が間違っているのかわかりませんか?

4

1 に答える 1

1

期限切れに 0 分を指定したため、キャッシュはすぐに期限切れになります。

代わりに変更しCache.NoSlidingExpirationます。

HttpRuntime.Cache.Insert("eBayCategories", connectionString, Nothing, DateTime.UtcNow.AddMinutes(30), Cache.NoSlidingExpiration)

MSDN Cache.Insertを参照してください。

于 2013-11-12T17:41:24.927 に答える