Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
 Аватар для Nter
4 / 4 / 5
Регистрация: 12.08.2010
Сообщений: 279

Как правильно использовать кэширование контроллеров?

07.02.2013, 17:33. Показов 1587. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите пожалуйста, как правильно использовать кэширование контроллеров, в частности для метода, выводящего в представлении список объектов, например:
C#
1
2
3
4
5
6
7
[OutputCache(Duration = int.MaxValue, VaryByParam = "none")]
        [HttpGet]
        public ActionResult AllCars()
        {
            MyDbEntities context = new MyDbEntities();
            return View(context.Cars);
        }
проблема в том, что если я добавляю объект в БД, то он никак не выводится в этом списке. Что нужно сделать, чтоб было всё правильно?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2013, 17:33
Ответы с готовыми решениями:

Как правильно использовать стек, использовать вершину стека и т.п
Научите пожалуйста правильно использовать стек, использовать вершину стека и т.п. Просто стек очень нужен - очень полезный оператор.

Как правильно передать указатель на структуру, и правильно ее использовать
Я планирую сделать сортировку, но компилятор начал ругаться "Нет существует подходящей функции преобразования "Student" в...

Как правильно использовать DI?
Приветствую. Хочу реализовать учебный проект, потренироваться во внедрении зависимостей. Использую стек технологий asp.net mvc, Ninject....

7
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
08.02.2013, 16:51
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Nter Посмотреть сообщение
то он никак не выводится в этом списке. Что нужно сделать, чтоб было всё правильно?
Цитата Сообщение от Nter Посмотреть сообщение
Duration = int.MaxValue
Можно попробывать прописать например 5 минут, или 3 или 2. - это правильно

Можно перегрузить весь пул. Но если приложение большое и долго стартует - это плохая идея
C#
1
HttpRuntime.UnloadAppDomain();
Можно реализовать провайдер кеша и написать свой механизм кеширования - тоже плохая идея
3
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
26.08.2013, 19:54
Какое время кэширования выставить для отображения списка тем на форуме ?
0
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
27.08.2013, 09:53
Цитата Сообщение от Alex9 Посмотреть сообщение
Какое время кэширования выставить для отображения списка тем на форуме ?
Так если тема не меняется, то пусть будет подольше)
0
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
27.08.2013, 17:04
А не возникнет проблем с отображением новых тем на клиентах ?
0
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
28.08.2013, 09:28
Цитата Сообщение от Alex9 Посмотреть сообщение
А не возникнет проблем с отображением новых тем на клиентах ?
Изначально есть некоторые вещи которые не стоит кэшировать. Так же важно насколько часто у вас обновляются эти посты.
Если например поставить на одну минуту, может проканать.

Если один код выполняет отображение всех постов то вам пригодиться.

C#
1
[OutputCache(Duration = 10, VaryByParam = "category;language")]
Для каждого входящего значения ( category или language ) будет создана своя версия кеша
1
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
28.08.2013, 16:14
Где задаются эти входящие значения ?

Добавлено через 18 минут
Когда браузер или сервер кэшируют страницу, то они просто запоминают ее html код ?
0
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
29.08.2013, 09:11
Цитата Сообщение от Alex9 Посмотреть сообщение
Где задаются эти входящие значения ?
Как то так
C#
1
2
3
[OutputCache(Duration = 5000, VaryByParam = "category;language")]
public ActionResult AllCars(int? category, string language)
{
Цитата Сообщение от Alex9 Посмотреть сообщение
Когда браузер или сервер кэшируют страницу, то они просто запоминают ее html код ?
Грубо говоря да
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2013, 09:11
Помогаю со студенческими работами здесь

Как правильно использовать for() ?
Здраствуйте у меня вот такой вопрос! Мне нужен такой код Пример у меня в базе есть 3 поля (screen,screen_2,screen_3) Я...

Как правильно использовать While?
Не давно столкнулся с необходимостью использовать цикл While . Ранее сталкивался с ним только в языках программирования . Задача...

Как правильно использовать таймер?
Вопрос простой. Как данный таск запустить по таймеру? public async Task<IActionResult> Index() { ...

Как правильно использовать Cursor?
Здравствуйте ! Не могу разобраться ,как работает Cursor . Как он объявляется и его синтаксис мне более менее понятен . Мне не хватает...

как правильно использовать SetBkColor()
Подскажите пожайлуста, как следует правильно использовать API SetBkColor() для установки цвета фона к примеру для обычной формы? У...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru