我刚刚将我的网站从 ASP.NET 3.5 升级到 4.0。我一直在努力进行一些重大更改,并且超出了我的预期。
然而,我无法弄清楚的一个原因是为什么我的<asp:Substitution />
控制突然停止正常工作。它应该忽略父页面的输出缓存设置并在每次请求时更新。由于某种原因,这没有发生。它缓存了整整 10 分钟(我主页的 OutputCache 设置)。有任何想法吗?
我刚刚将我的网站从 ASP.NET 3.5 升级到 4.0。我一直在努力进行一些重大更改,并且超出了我的预期。
然而,我无法弄清楚的一个原因是为什么我的<asp:Substitution />
控制突然停止正常工作。它应该忽略父页面的输出缓存设置并在每次请求时更新。由于某种原因,这没有发生。它缓存了整整 10 分钟(我主页的 OutputCache 设置)。有任何想法吗?
MVC 不支持 <asp:Substitution> 和其他服务器控件。特别是响应替换与 WebForms 管道有着错综复杂的联系。它在 MVC 1 中工作的事实是一个愉快的意外,但不是故意的。
MVC 团队正在研究在 MVC 3 及更高版本中启用替换缓存的方法,但可能会有特定于 MVC 的机制来执行此操作,因此您不应期望 <asp:Substitution> 或 Response.WriteSubstitution() 能够正常工作向前。同时,最好的选择是输出缓存整个页面,然后使用Javascript/AJAX让客户端填写需要更新的部分。