Кэширование MVC 3 просмотров, извлеченных из базы данных - PullRequest
1 голос
/ 30 марта 2012

У меня есть приложение MVC3, которое обслуживает представления, хранящиеся в базе данных. Я создал VirtualPathProvider, и в моих GetFile и FileExists методах я иду в базу данных и возвращаю правильную вещь. Пока все хорошо.

Теперь я хочу кэшировать представление, которое я возвращаю с GetFile. Я понимаю, что MVC уже выполняет некоторое кэширование представлений, и у нас есть некоторый контроль над ним через метод GetCacheDependency Но у нас есть больше контроля, чем это? Например, можем ли мы использовать там собственный кеш? В моем случае я заинтересован в кэшировании представлений в локальной файловой системе и в своей собственной аннулированию кэша.

Самый простой способ - сделать это самому в моем методе GetFile, но если в MVC для этого есть естественная точка расширения, я бы предпочел использовать его вместо этого.

Спасибо

Ответы [ 2 ]

1 голос
/ 16 августа 2012

Я что-то смотрел, заметил твой вопрос, ответа не было.Вам нужно переопределить GetFileHash() вместе с GetCacheDependency().Тогда вам нужно будет реализовать собственную CacheDependency , чтобы сделать недействительным кэш ASP.NET.

0 голосов
/ 30 марта 2012

Либо использовать OutputCacheAttribute

http://msdn.microsoft.com/en-us/library/system.web.mvc.outputcacheattribute.aspx

или попробуйте извлечь из него.

...