7

我已经开始在自托管模式下测试 Nancy。到目前为止,除了一个让我烦恼的问题之外,一切都很好:我如何防止它在开发时缓存我的视图?

我确实注意到一条评论说视图缓存应该在调试模式下被禁用,但它似乎对我不起作用——每当我对 HTML 进行更改时,我都必须重新启动我的应用程序。

我正在使用带有内置超级简单视图引擎和 .html 文件的 Nancy 0.10。

4

2 回答 2

5

在调试模式下默认禁用缓存。我唯一能想到的是,在自主机(即非 Web 项目)中运行时,调试模式检测可能存在错误。

你能试试下面的

  • 确保您在调试模式下构建并检查 StaticConfiguration.DisableCaches的值并让我知道它是还是
  • 显式尝试将StaticConfiguration.DisableCaches设置为 true并查看它是否停止缓存您的视图

如果 DisableCaches 为真,则忽略在 DefaultViewCache 类型中使用缓存https://github.com/NancyFx/Nancy/blob/master/src/Nancy/ViewEngines/DefaultViewCache.cs#L30

于 2012-03-02T13:49:04.123 回答
3

TheCodeJunkies 答案适用于 Nancy 的 1.x 版。

对于 Nancy 的 2.x,runtimeViewDiscoveryandruntimeViewUpdates属性处理视图是否被缓存。这可以在您的NancyBootstrapper课程中更改,如下所示:

public class NancyBootstrapper : DefaultNancyBootstrapper
{
    public override void Configure(INancyEnvironment environment)
    {
        base.Configure(environment);
        environment.Views(runtimeViewDiscovery: true, runtimeViewUpdates: true);
    }
}
于 2019-01-10T19:12:09.270 回答