Nancy: La mise en cache des vues n'est pas désactivée en mode débogage par défaut dans Nancy 2.0.0-alpha

Créé le 27 avr. 2016  ·  5Commentaires  ·  Source: NancyFx/Nancy

Conditions préalables

  • [x] J'ai écrit un titre descriptif du numéro
  • [x] J'ai vérifié que j'utilise la dernière version de Nancy
  • [ ] J'ai vérifié si le problème existe à la fois en mode DEBUG et en mode RELEASE
  • [x] J'ai recherché les problèmes fermés pour m'assurer qu'ils n'ont pas déjà été signalés

    La description

Dans Nancy 2.0.0-alpha, la mise en cache des vues rasoirs n'est plus désactivée par défaut, car elle était en mode débogage.

Étapes pour reproduire

  1. Démarrer Nancy en mode débogage
  2. Visitez une URL et laissez Nancy servir une vue .cshtml
  3. Modifier et enregistrer le fichier .cshtml
  4. Actualisez votre navigateur
  5. Notez que les modifications ne sont pas affichées.

    Configuration du système

  • Version de Nancy : 2.0.0-alpha
  • hôte nancéienne

    • [x] ASP.NET

    • [ ] OWIN

    • [ ] Auto-hébergé

    • [ ] Autre:

  • Autres packages et versions de Nancy :

    • Nancy.Hébergement.Aspnet

    • Nancy.ViewEngines.Razor

  • Environnement (Système d'exploitation, version, etc.) : Win10, IISExpress
  • Version .NET Framework : 4.5
  • Information additionnelle:

Solution de contournement:

Configurez nancy vous-même pour désactiver le cache en mode débogage, par exemple :

public override void Configure(INancyEnvironment environment)
{
    base.Configure(environment);

#if DEBUG
    environment.Views(runtimeViewUpdates: true);
#endif
}

Prends soin,
Martin

Commentaire le plus utile

Créer un ViewConfigurationProvider avec return new ViewConfiguration(true,true); ne fonctionne pas (même s'il est touché si je définis un point d'arrêt). Remplacer Configure dans le programme d'amorçage et appeler environment.Views(runtimeViewUpdates: true); résout ce problème.

2.0-b

Tous les 5 commentaires

Si je me souviens bien, le DefaultViewConfigurationProvider avait l' habitude d'utiliser le IRuntimeEnvironmentInformation mais nous l'avons modifié avant de fusionner la pull-request. Je ne me souviens pas pourquoi nous l'avons supprimée, mais je sais que l'interface IRuntimeEnvironmentInformation été discutée dans le contexte CoreCLR car nous ne pouvions plus vérifier les attributs.

Peut-être pourrions-nous mettre à jour le DefaultViewConfigurationProvider pour utiliser #if DEBUG place. Le problème avec cela est qu'il ne fonctionnerait qu'à l'intérieur du débogueur (je pense) et non lorsque vous construisez et déployez votre site en mode débogage.

ping @NancyFx/sbires les plus appréciés

En fait, #if DEBUG conviendrait pour le DefaultViewConfigurationProvider . Si vous vous souciez du comportement, vous le définissez explicitement et les valeurs définies par l'utilisateur ont toujours la priorité sur ce que le fournisseur par défaut configure

Bingo

Le mercredi 27 avril 2016, Andreas Håkansson [email protected]
a écrit:

En fait, #if DEBUG conviendrait au DefaultViewConfigurationProvider.
Si vous vous souciez du comportement, vous le définirez explicitement
et les valeurs définies par l'utilisateur ont toujours la priorité sur ce que le fournisseur par défaut
configure

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/NancyFx/Nancy/issues/2432#issuecomment -215189437

Créer un ViewConfigurationProvider avec return new ViewConfiguration(true,true); ne fonctionne pas (même s'il est touché si je définis un point d'arrêt). Remplacer Configure dans le programme d'amorçage et appeler environment.Views(runtimeViewUpdates: true); résout ce problème.

2.0-b

Cette page vous a été utile?
0 / 5 - 0 notes