У меня есть репозиторий, который тянет как с db, так и с кэша.httpcache problem
Чтобы реализовать это, я создал интерфейс ICacheWrapper, который позволяет репо использовать HttpRuntime.Cache, AppFabric, что угодно. Конкретные классы ICacheWrapper обычно принимают кэш в своем конструкторе следующим образом: новый HttpCacheWrapper (HttpRuntime.Cache)
конструктор РИЙ принимает ссылку на обертку кэша так:
myRepo = new Repo(new HttpCacheWrapper(HttpRuntime.Cache));
Если я создаю 2 repos, кеш будет глубоко скопирован? Я бы не подумал, но наши проблемы с производительностью указывают иначе. Я что-то пропустил?
Спасибо за помощь!
Результаты немного больше исследований/рефакторинга: похоже, что списки вещей, которые извлекаются из кеша, обслуживаются из одного кеша, что хорошо. Этот список фильтруется для соответствия запросам веб-формы. Затем отфильтрованный список привязан к веб-форме ui. Похоже, что происходит то, что отфильтрованный список создается в дополнение к кэшированному списку, и ни один из них не скопирован GC-ed. –