我覆盖Application_BeginRequest
并将程序集版本添加到 javascript 文件名。这样,我确信在每次发布后,浏览器都不会缓存 javascript。这在今天工作得很好:尽管我在程序集类文件中进行了更改并且在这两个版本之间进行了几次构建,但我得到了相同的程序集哈希码事件。在我看来,几乎不可能在两个版本中拥有相同的汇编哈希码。我在监督什么吗?
protected void Application_BeginRequest(object sender, EventArgs e)
{
string origionalPath = Request.Url.PathAndQuery;
if (origionalPath.StartsWith("/Scripts") == true
&& Request.CurrentExecutionFilePathExtension == ".js")
{
string fileName = Request.Url.Segments[Request.Url.Segments.Length - 1];
int assemblyHashcode = typeof(KVpro.MyApplication.MvcApplication).Assembly.GetHashCode();
string fileNameRewrite = fileName.Replace(string.Format(".{0}", assemblyHashcode), string.Empty);
string rewritePath = origionalPath.Replace(fileName, fileNameRewrite);
Context.RewritePath(rewritePath);
}