ASP.NET MVC 2 VirtualPathProvider GetFile каждый раз для каждого запроса - PullRequest
8 голосов
/ 20 сентября 2010

Я реализовал VirtualPathProvider.VirtualPathProvider считывает представление из файловой системы.

Однако моя проблема в том, что метод GetFile(string virtualPath) не выполняется каждый раз для каждого запроса.Я думаю, что это связано с кэшированием, не так ли?Я хочу получать файл каждый раз для каждого запроса .Потому что в некоторых случаях страница в файловой системе будет изменена, и пользователи хотят, чтобы система немедленно показала изменения.

Спасибо.

Ответы [ 2 ]

16 голосов
/ 22 сентября 2010

Я сам нашел решение в Интернете.

Действительно, спасибо jbeall ответил 15.07.2008, 11:05.

http://forums.asp.net/t/1289756.aspx

Короче говоря, переопределяет следующие методы

  1. GetCacheDependency - всегда возвращает ноль
  2. GetFileHash - всегда возвращает другое значение

После этих модификаций для каждого запроса MVC напрямую получает файл из источника.

0 голосов
/ 04 июня 2014
public class MyVirtualPathProvider : VirtualPathProvider
{

    public override CacheDependency GetCacheDependency(string virtualPath, IEnumerable virtualPathDependencies, DateTime utcStart)
    {
        return null;

    }

    public override String GetFileHash(String virtualPath, IEnumerable virtualPathDependencies)
    {
        return Guid.NewGuid().ToString();

    }
}
...