У меня есть раскрывающийся список, который я заполняю набором результатов вызова Entity Framework для базы данных SQL Server. В настоящее время в этом вызове возвращено 20 записей, и я думаю об использовании кеширования. Раньше я никогда не настраивал кеширование для определенного элемента управления, может кто-то указать мне на учебник. Является ли это также излишним, для этого небольшого набора данных?Кэширование результата SQL Call
ответ
Если это ASP.NET, то самым простым способом сделать кэширование будет использование объекта HttpContext.Current.Cache. В вашем коде это будет работать так. Вы можете найти more information on the Cache class on MSDN.
if (HttpContext.Current.Cache.Get("ef_results") == null)
{
var results = null; // todo: get results from EF
HttpContext.Current.Cache.Add("ef_results", // cache key
results, // cache value
null, // dependencies
System.Web.Caching.Cache.NoAbsoluteExpiration, // absolute expiration
TimeSpan.FromMinutes(30)); // sliding expiration
}
myDropDown.DataSource = HttpContext.Current.Cache.Get("ef_results");
Если это WPF/WinForms, то самый простой способ будет просто добавить статическое поле в классе и «кэш» результаты вашего запроса EF в этом статическом поле, используя ту же логику, что и выше.
+1 Если результаты запроса не должны быть распределены/аннулированы разными узлами, это приведет вас из отверстия. –
Отличный материал здесь –
Опасайтесь, если вы используете NLB - и хотите обновить кеш на www-приложении, потому что он будет обновляться только на том сервере, на котором NLB перенаправляет вас. Есть возможность перезапустить IIS или дождаться скользящего истечения срока действия и обновить кеш на всех www-приложениях. – Svmurvj
Если вам нужно распространять кеш среди фермы, вы можете рассмотреть возможность использования кеша второго уровня.
- 1. Кэширование результата всех методов
- 2. Кэширование результата из EF
- 3. Кэширование результата метода MethodHandles.lookup()?
- 4. Кэширование результата функции F #
- 5. Кэширование функции результата на C#
- 6. кэширование результата в вызове Ajax
- 7. Получение и кэширование результата в Select2
- 8. Кэширование результата метод класса по запросу
- 9. Отключить кэширование Sql 2008?
- 10. Вызов функции из результата ListView Eval call
- 11. Метод Make wait для результата Async Call
- 12. jQuery Ajax call не ожидает никакого результата
- 13. Кэширование результата инструкции SELECT для повторного использования в нескольких запросах
- 14. Вчера sql call
- 15. SQL standard UPSERT call
- 16. Кэширование только данных отношения из результата ORP FuelPHP
- 17. Кэширование результатов linq-to-sql?
- 18. Linq to SQL Странное кэширование?
- 19. Отключить SQL-кэширование в Rails?
- 20. Кэширование LINQ to SQL DataContext
- 21. Кэширование подзапросов SQL Server 2008?
- 22. ли кэширование SQL результаты заявление
- 23. Кэширование таблиц в Spark SQL
- 24. Кэширование внутреннего запроса в SQL
- 25. Как реализовать кэширование в Linq для SQL?
- 26. Кэширование GET .NET Webservice Call in Client - Заголовки не обновляются
- 27. Кэширование изображения, так что он не перезагружается при перезагрузке. Call call - AFNetworking 2.0 setImageWithUrl
- 28. Модифицируйте результата SQL
- 29. Ошибка результата объединения SQL
- 30. Начала дублируется SQL результата
ASP.NET? WinForms? WPF? – BrokenGlass
http://deanhume.com/Home/BlogPost/object-caching----net-4/37 достойная статья – Joe