Как Предотвратить Нэнси От Кэширования Представлений - PullRequest
7 голосов
/ 02 марта 2012

Я начал тестировать Нэнси в режиме собственного хоста. Пока что все хорошо, если не считать одной проблемы, которая меня раздражает: как мне предотвратить кэширование моих взглядов при разработке?

Я заметил комментарий о том, что кэширование представления должно быть отключено в режиме отладки, но, похоже, оно не работает для меня - я должен перезапускать свое приложение всякий раз, когда я изменяю HTML.

Я использую Nancy 0.10 со встроенным супер-простым механизмом просмотра и файлами .html.

Ответы [ 2 ]

5 голосов
/ 02 марта 2012

Кэширование по умолчанию отключено в режиме отладки.Единственное, о чем я могу думать, это то, что при обнаружении в режиме отладки может возникнуть ошибка во время работы на собственном хосте (то есть не в веб-проекте).

Не могли бы вы попробовать следующее

  • Убедитесь, что вы строите в режиме отладки и проверьте значение StaticConfiguration.DisableCaches и дайте мне знать, если этоis true или false
  • Явно попробуйте установить StaticConfiguration.DisableCaches в true и посмотрите, прекратит ли оно кэширование вашего представления

Если DisableCaches имеет значение true, тогда игнорируется использование кэша в типе DefaultViewCache https://github.com/NancyFx/Nancy/blob/master/src/Nancy/ViewEngines/DefaultViewCache.cs#L30

2 голосов
/ 10 января 2019

TheCodeJunkies ответ работает для версии 1.x Нэнси.

Для 2.x of Nancy свойства runtimeViewDiscovery и runtimeViewUpdates обрабатывают, кэшируются ли представления. Это можно изменить в вашем классе NancyBootstrapper, например:

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