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
Короче говоря, переопределяет следующие методы
GetCacheDependency
- всегда возвращать ноль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();
}
}