9
votes

Empêcher Silverlight 3 de la mise en cache tout en débogage

Je suppose que la question que j'ai eu est liée à la mise en cache. Les changements de code que je fais ne sont pas ramassés lorsque je déboguise. La plupart des temps, je reçois une version précédente de l'application. Comment puis-je empêcher cela de se produire?


2 commentaires

Comment allez-vous déboguer, exécutant dans Visual Studio? Avez-vous un site Web de test dans la solution? Quel navigateur accueillez-vous le SL dans?


Bonjour, ce micro est-il sur ?? ... Vous avez 4 avotes sur cette question, mais vous n'avez pas répondu à mes questions ci-dessus et vous n'avez pas répondu à ceux qui ont pris le temps de tenter de répondre à votre question.


8 Réponses :


0
votes

Autant que je sache, cela semble être un problème avec Firefox - quand j'ai utilisé IE8, cela ne m'a pas arrivé (je me rendais compte que cela peut ouvrir sa propre boîte de vers, mais au moins pour le débogage et les tests Silverlight , C'est-à-dire est beaucoup mieux)


0 commentaires

0
votes

Je n'ai eu aucun problème avec des assemblages Silverlight Mise en cache - Vous voudrez peut-être essayer de déboguer les demandes HTTP qui vont d'avant en arrière, pour voir si votre serveur renvoie peut-être des informations incorrectes au navigateur (par exemple, a "non modifié "Réponse).

Pour le comportement général sans cache, la seule méthode fiable que j'ai trouvée est de désactiver la mise en cache dans le navigateur.

Pour IE, ceci a été la seule option fiable - sinon, même si des en-têtes de non-cache appropriés sont envoyés, certaines choses sont toujours en cache (spécifiquement, des ressources chargées de manière dynamique accessible via JavaScript XMLHTTPQUBEST). Je n'ai pas spécifiquement eu de problèmes avec Silverlight Mettez-vous en cache quand il ne devrait pas, si c'est-à-dire avoir toujours chargé les dernières mises à jour, même si le cache est activé.

Firefox a été beaucoup plus problématique - même lors de la désactivation du cache, il met encore parfois en cache des ressources XMLHTTPRÉQUESTPRÉQUEST. Frapper manuellement l'actualisation à quelques reprises a été la seule solution dans un tel cas. Encore une fois, je n'ai eu aucun problème avec Silverlight assemblables, même si le cache est allumé.


0 commentaires

0
votes

dans Firefox, j'utilise le plugin "Développeur Web" et sélectionnez simplement pour "désactiver le cache". Fonctionne bien.


3 commentaires

Je ne peux pas dire à ceci à tous les utilisateurs de mon site Web, alors j'ai une meilleure solution pour tout le monde.


Ceci est pour le débogage seulement. Vous n'avez pas besoin de dire à tous les utilisateurs de votre site Web, il enfreint également la mise en œuvre du cache pour le reste de vos utilisateurs.


Eh bien, nous ne voulons pas mettre la mise en cache de la version ancienne lorsque nous publions une nouvelle version, il n'y a pas de question de rupture.



2
votes

Essayez d'ajouter à la page qui héberge Silverlight Application sur la page_LOAD:

      Response.Cache.SetExpires(DateTime.Now.AddSeconds(-100));
      Response.Cache.SetCacheability(HttpCacheability.NoCache);


0 commentaires

2
votes

Ctrl + F5 est un moyen facile d'actualiser une page et d'effacer le cache de cette page en même temps - cela peut aider :)


0 commentaires

0
votes

Firefox 3.5 sous Outils a la possibilité de naviguer privé. Cliquez dessus pour désactiver la mise en cache.


0 commentaires

1
votes

Ajoute une "version" QueryString à votre URL XAP, quelque chose comme: xxx

Ceci allumera le navigateur (et de nombreux serveurs Web) pour penser qu'il s'agit d'un fichier différent. Et lorsque le problème du cache apparaît à nouveau, augmentez le nombre.

Si vous souhaitez utiliser une mise en cache appropriée, faites-le sur le côté serveur avec SortieCache directives.


0 commentaires

0
votes

Voici comment je l'ai fait pour Flex / Flash et Silverlight et ça fonctionne.

code derrière aspx ou cshtml strong> P>

<embed ....
   src="/ClientBin/MySilverlight.xap?something-different-each-time"
   ...
   />


0 commentaires