Мы занимаемся оптимизацией производительности для многопользовательского веб-приложения. В настоящее время контекст данных LinqToSql создается в начале каждого веб-запроса. Контекст имеет всю жизнь для веб-запроса, и он вводится в конструктор любых объектов, которые ему нужны, используя Castle Windsor.Кэширование LINQ to SQL DataContext
Нам приходилось думать о кешировании контекста (и набора связанных с ним объектов) в кеше сеанса на несколько минут для оптимизации затрат на установку последующих веб-запросов. Это хорошая/плохая идея? Какие проблемы необходимо учитывать?
Проанализировали ли вы каждый запрос, выполняемый через datacontext, чтобы обеспечить минимальное количество IO базы данных? Просматривали ли вы вызывающие стороны datacontext, чтобы убедиться, что повторные выборки для одних и тех же данных не происходят? –
@David: настройка запросов, которые отображаются как горячие точки в профилировщике. наша реализация репозитория защищает от повторных попыток. – Rob