ASP.NET MVC 2 VirtualPathProvider GetFile каждый раз для каждого запроса

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

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

Благодарю.

2 ответа

Решение

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

Действительно спасибо jbeall ответил 07-15-2008, 11:05 утра.

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

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

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

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

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();

    }
}
Другие вопросы по тегам