Ссылка на объект, требуемая для нестатического поля, метода или свойства

106
10

Я хочу использовать метод Caching.Cache(...), например:


Cache.Insert("Interview Questions", datatable, sqlcachedep)

или


System.Web.Caching.Cache.Insert("Reading List", datatable, sqlcachedep);

Нет проблем с переменными, но я получаю это сообщение об ошибке в любом случае:


Ошибка 1 - ссылка на объект требуется для нестатического поля, метода или свойства "System.Web.Caching.Cache.Insert(строка, объект, System.Web.Caching.CacheDependency)"



Как я могу это исправить?


Спасибо

спросил(а) 2009-08-20T00:55:00+04:00 11 лет, 7 месяцев назад
1
Решение
176

Он говорит правильную вещь. Вы должны попробовать что-то вроде:


HttpContext.Current.Cache.Insert(...);

Cache.Insert - не статический метод (статические методы обозначаются знаком "S" рядом с значком метода в документации.) Вам нужен экземпляр для вызова метода Insert. HttpContext.Current.Cache возвращает объект Cache, связанный с текущим приложением.

ответил(а) 2009-08-20T00:58:00+04:00 11 лет, 7 месяцев назад
62

Попробуйте это (из памяти):

HttpApplication.Context.Cache.Insert("Reading List", datatable, sqlcachedep);

ответил(а) 2009-08-20T00:58:00+04:00 11 лет, 7 месяцев назад
62

Вам нужно сделать


Page.Cache.Insert()

(Я предполагаю, что вы говорите ASP.Net). Вы вызываете Cache как класс, а не как его экземпляр.

ответил(а) 2009-08-20T00:56:00+04:00 11 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема