简体   繁体   中英

How to Prevent Nancy From Caching Views

I've started testing out Nancy in self-host mode. So far, so good apart from one issue that's irking me: How do I prevent it from caching my views while developing?

I did notice a comment that view caching is supposed to be disabled in Debug mode but it doesn't seem to be working for me - I have to restart my application whenever I make a change to the HTML.

I'm using Nancy 0.10 with the built-in super simple view engine and .html files.

Caching is disabled by default in debug-mode. The only thing I can think of is that there might be a bug on the debug-mode detection while running in a self-host (ie a non web-project).

Could you please try the following

  • Make sure your are building in debug-mode and check the value of StaticConfiguration.DisableCaches and let me know if it is true or false
  • Explicitly try setting StaticConfiguration.DisableCaches to true and see if it stops caching your view

If DisableCaches is true then it ignores to use the cache in the DefaultViewCache type https://github.com/NancyFx/Nancy/blob/master/src/Nancy/ViewEngines/DefaultViewCache.cs#L30

TheCodeJunkies answer works for version 1.x of Nancy.

For 2.x of Nancy the runtimeViewDiscovery and runtimeViewUpdates properties handle if views are cached or not. This can be changed in your NancyBootstrapper class, like so:

public class NancyBootstrapper : DefaultNancyBootstrapper
{
    public override void Configure(INancyEnvironment environment)
    {
        base.Configure(environment);
        environment.Views(runtimeViewDiscovery: true, runtimeViewUpdates: true);
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM