Actualiser le cache du navigateur automatiquement
C'est quelque chose que je n'ai jamais eu à composer avec avant, donc excusez-moi si j'ai l'air ignorants.
La question fondamentale que je vais avoir, c'est que tout en travaillant au sein de Visual Studio 2010, toutes les modifications que je fais semblent être pris dans une sorte de cache.
Par exemple, je vais faire un changement pour une page, exécutez la solution, et puis, je dois appuyer sur Ctrl + F5 pour forcer le rafraîchissement du cache pour voir les changements. C'est avec ASP.NET/HTML/CSS & code JavaScript. Même chose.
Dans le passé Visual Studio utilisé pour vider le cache à chaque fois que j'ai couru, je suis donc un peu frustré pour dire le moins.
En outre, pour le déploiement de la solution sur un serveur IIS, la même chose se passe pour les utilisateurs. Même si un ASP.NET la page des modifications sur elle, les utilisateurs de garder de tirer une version mise en cache jusqu'à ce qu'ils effacer leur mémoire cache. J'ai atténué ce problème dans une certaine mesure par de renommer les fichiers (en particulier javascript) avec les numéros de version pour que le client voit toujours comme un nouveau fichier et de charges au lieu de chargement à partir de la mémoire cache.
Est-il des paramètres à l'intérieur de Visual Studio ou web.config qui pourrait en être la cause?
EDIT: Voici mon site web.fichier de configuration
<configuration>
<system.web>
<sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
</assemblies>
</compilation>
<authentication mode="Windows"/>
<pages>
<controls>
<add tagPrefix="ajaxtoolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolKit"/>
</controls>
</pages>
</system.web>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000"/>
</webServices>
</scripting>
</system.web.extensions>
</configuration>
OriginalL'auteur yoshi0423 | 2013-06-06
Vous devez vous connecter pour publier un commentaire.
Ressources Web (Css, Js, Images et même Html) prenez le temps de téléchargement sur le réseau, ce qui augmente le temps de chargement d'une page web (Steve Souders suggère qu'il faut près de 80 %, voir ici) . La mise en cache HTTP permet à ces ressources doit être enregistré ou mis en cache, par un navigateur ou un proxy. Une fois qu'une ressource est mise en cache, un navigateur ou un proxy peut se référer à la copie mise en cache localement au lieu d'avoir à le télécharger à nouveau lors de visites ultérieures sur la page web.
Cache du navigateur peut être contrôlé par le Cache HTTP (voir un aperçu rapide ici)
Donc, c'est pas à cause de Visual Studio ou de asp.net mais à cause du navigateur.
Heureusement, il existe de nombreuses façons de désactiver le cache côté serveur (juste pour le test de la finalité) ou sur le côté client (à relaod et de contourner le cache).
Voici quelques possibilités :
À l'aide de asp.net
Vous pouvez explicite désactiver le cache du navigateur avec ce code
Avertissement : Ne ce, uniquement en local pour objectif de test !
Aussi, le regroupement de Nombreux systèmes permettent de contrôler les paramètres de cache.
asp.net mvc Bundles définir le HTTP en-Tête d'Expiration d'un an à partir de quand le faisceau est de créer et ajouter un paramètre additionnel dans la chaîne de requête. Aussi longtemps que le paquet ne change pas, cet identifiant unique sera le même. Voir ici.
Sur navigateur
Il y a de nombreux raccourcis pour recharger une page, et de contourner le cache:
Pour exampel :
Aussi il y a de nombreuses façons de désactiver complètement le cache du navigateur.
Wikipedia a une grande liste .
OriginalL'auteur Cybermaxs