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? P>
8 Réponses :
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) p>
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). P>
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. P>
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é. P>
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é. P>
dans Firefox, j'utilise le plugin "Développeur Web" et sélectionnez simplement pour "désactiver le cache". Fonctionne bien. P>
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.
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);
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 :) P>
Firefox 3.5 sous Outils a la possibilité de naviguer privé. Cliquez dessus pour désactiver la mise en cache. P>
Ajoute une "version" QueryString à votre URL XAP, quelque chose comme: 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. P> Si vous souhaitez utiliser une mise en cache appropriée, faites-le sur le côté serveur avec SortieCache directives. p> p>
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"
...
/>
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.