【问题标题】:MVC somehow caching embedded views between runsMVC 以某种方式在运行之间缓存嵌入式视图
【发布时间】:2018-09-30 14:20:30
【问题描述】:

我的组织正在使用 Razor 视图作为嵌入文件,以便为我们的应用程序实施附加框架。

由于某些未知原因,嵌入式视图的内容最终在运行时被缓存。 IE。运行,转到页面,停止,编辑插件视图,构建插件,运行,刷新页面,使用旧视图。

我尝试过的事情:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]

<system.web>
  <compilation targetFramework="4.7" debug="true" optimizeCompilations="false">
</system.web>

删除 bin 和 obj 文件夹(Razor 尽可能多地锁定一些文件)会导致此“缓存”被重置。这可能是重建的结果。两个文件夹中都没有存储附加视图的文件。

加载项是使用 Assembly.LoadFrom 加载的。

【问题讨论】:

    标签: asp.net-mvc razor views


    【解决方案1】:

    仍然不确定这是什么原因,但我通过将包含视图的程序集的上次修改日期时间放入虚拟路径中,然后 MVC 将使用该虚拟路径来请求视图,从而解决了这个问题。

    我可以通过覆盖 RazorViewEngineFindViewFindPartialView 方法来指定 MVC 用来加载视图的虚拟路径。

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 2017-03-05
      • 2011-02-13
      • 2019-02-05
      • 1970-01-01
      • 2018-10-12
      相关资源
      最近更新 更多