My Silverlight (4.0) App (hébergé par le site Web ASP.NET) utilise 4 projets, ils utilisent tous un fichier avec la version de montage: La version de l'application actuellement affichée est 1.0. 3842.38865, mais le plus récent (1.0.3854.42448) est téléchargé récemment sur le serveur. P> Le problème est que le navigateur ne charge pas de nouvelle application Silverlight après son déploiement sur le serveur. P> ici est un code HTML utilisé pour "rendu" de silverlight-html-loader (pas sûr si c'est un nom correct): p> p> J'ai essayé d'ajouter un paramètre au paramètre "Source" de l'objet contenant le temps de dernière modification de fichier XAP: p> qui a provoqué une erreur de chargement d'applications Silverlight : P> Erreur non heurtée en Silverlight
Code de l'application: 2103 Catégorie:
Message InitializeError:
Application invalide ou malformée:
Vérifiez le manifeste p>
BlockQuote> Pourriez-vous vous conseiller comment forcer le navigateur pour obtenir une nouvelle application à partir de serveur (sans le cache de navigateur manipulant, je voudrais garder l'option de mise en cache de navigateur)? P> Merci beaucoup! < / p> ps Il est nécessaire d'ajouter que Silverlight Application fonctionne (téléchargée et lancée) bien sur mon localhost sans aucune danse avec des paramètres. Seulement lorsque je le télécharge sur le site Web - il n'est pas rechargé par navigateur. Et ajouter des paramètres supplémentaires au chemin XAP-File - ne fonctionne pas sur localhost. P> p>
4 Réponses :
Cela devrait fonctionner comme prévu, peut-être que cela a quelque chose à voir avec la manière dont vous êtes ajouté à la param. Essayez de supprimer la partie J'ai utilisé cette méthode dans le passé et c'est le meilleur moyen de contourner la mise en cache latérale du client. P > Si vous voulez toujours rafraîchir et ne jamais mettre en cache, vous pouvez simplement ajouter le courant ver = code> partie:
DateTime code> à la fin qui sera toujours unique. Je ne sais pas que lorsque vous voudriez faire cela dans un scénario du monde réel, mais il est idéal pour les tests pour vous assurer de ne jamais avoir une version mise en cache en cours d'exécution. Exemple: P>
<param name="source"
value="/ClientBin/VfmElitaSilverlightClientApplication.xap?<%= DateTime.Now.Ticks.ToString() "/>
Ajout de n'importe quoi après ".xap" Empêcher le téléchargement d'applications et le lancement sur le localhost, donc je n'ai donc pas essayé de vérifier cela sur le site Web réel.
L'approche correcte de la gestion du cache de navigateurs est de lui dire ce que vous attendez de cela via les en-têtes de réponse HTTP approuvés envoyés par le serveur. P>
dans IIS Manager précise que le contenu du dossier clientBin est expiré immédiatement. P>
Notez que THS ne signifie pas que le XAP WIL soit téléchargé sur chaque demande, juste que le navigateur doit vérifier que sa copie mise en cache est à jour. P>
Existe-t-il un moyen de forcer le client à se rafraîchir pendant son exécution? J'ai des utilisateurs qui gardent le client ouvert pendant des jours.
Ce que nous utilisons actuellement est le suivant qui obtient le dernier temps d'écriture du fichier .xap et l'a ajouté à la source-param:
Je teste toujours, mais jusqu'à présent, il semble que la modification de la [assembly: AssemblyFileVersion("1.0.0.1234")]
L'application est rechargée lorsque le site Web est rechargé. Voulez-vous respecter cela? Ou même la recharge du site Web ne fonctionne-t-elle pas?
Oui, le rechargement du site Web ne provoque pas de rechargement d'applications Silverlight