我已经实现了VirtualPathProvider。 VirtualPathProvider从文件系统中读取视图。
但是我的问题是每次请求都没有执行GetFile(string virtualPath)
方法。我认为这与缓存有关,不是吗?我想要的是每次请求获取文件。因为在某些情况下,文件系统中的页面将被修改,用户希望系统立即显示更改。
感谢。
答案 0 :(得分:16)
我自己在互联网上找到了解决方案。
非常感谢 jbeall 在07-15-2008,11:05 AM回复。
http://forums.asp.net/t/1289756.aspx
简而言之,请覆盖以下方法
GetCacheDependency
- 始终返回null GetFileHash
- 始终返回不同的值在这些修改之后,对于每个请求,MVC直接从源获取文件。
答案 1 :(得分:0)
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();
}
}