У меня есть класс, который выглядит так:
using System.Collections.Generic;
using System.Web.Caching;
public static class MyCache
{
private static string cacheKey = "mykey";
public static Dictionary<string, bool> GetCacheValue(bool bypassCache)
{
var settings = Cache[cacheKey] as Dictionary<string, bool>; // error on this line
// ...etc...
return settings
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что это не скомпилируется. Компилятор говорит, что Cache
не может использоваться так, как я это делаю. Здесь сообщение:
'System.Web.Caching.Cache' is a 'type' but is used like a 'variable'
Это меня озадачивает. Я googled API-интерфейс ASP.NET Cache и нашел много примеров Cache
, используемых таким образом. Вот один из примеров:
// http://www.4guysfromrolla.com/articles/100902-1.aspx
value = Cache("key")
- or -
value = Cache.Get("key")
Когда я пытаюсь использовать Cache.Get()
, я получаю еще одну ошибку, говоря, что это не статический метод.
Очевидно, мне нужно инициализировать экземпляр Cache
. Это правильный способ использования этого API? Следующий вопрос: кэшированная информация сохраняется в разных экземплярах?
Спасибо за вашу помощь.