Forcer les navigateurs à recharger Silverlight xap après une mise à jour

J’ai un contrôle Silverlight emballé et déployé sur un composant WebPart SharePoint. Le navigateur ne parvient pas à charger les nouvelles versions du contrôle après avoir envoyé une mise à jour. Je mets à jour l’assemblage et la version de fichier de mon projet xap, mais cela ne semble pas avoir d’importance. Le seul moyen de faire en sorte que le navigateur charge le nouveau xap consiste à supprimer des fichiers Internet temporaires. Pour moi, pendant le développement, ça va, mais je devrai trouver une solution avant que le temps de la production ne débute Des idées?

Cela concerne la manière dont votre navigateur traite les demandes de ressources. Flash a des problèmes similaires et il existe quelques solutions de contournement.

Voici un article qui détaille le problème et les solutions possibles.

Je suggérerais de faire quelque chose comme ceci:

Disons que vous avez ceci pour votre xap dans votre html:

 

Je voudrais la version afin que chaque fois que vous faites un push, vous modifiez le numéro de version. Exemple:

  

Génial! A travaillé même dans le développement de Windows Phone.

J’ai mis la ligne:

 NavigationService.Navigate(new Uri("/Game.xaml?versao="+version, UriKind.RelativeOrAbsolute)); 

Et ensuite, remplacez la méthode OnNavigatedTo :

 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); ssortingng var; if (NavigationContext.QuerySsortingng.TryGetValue("version", out var)) { ... } } 

Il n’est pas rare de se lancer dans la mise en cache .XAP, ce qui signifie que chaque fois que vous déployez une nouvelle version de l’application Silverlight, le navigateur ne télécharge pas le fichier .XAP mis à jour.

Une solution pourrait être de changer les propriétés IIS. Vous pouvez activer l’option «Activer l’en-tête HTTP d’expiration de contenu» pour votre fichier .XAP en procédant comme suit:

 Open IIS Manager Go to “Default Web Site” and find web site for your Silverlight project. Find the .XAP file under ClientBin. Go to the properties page of the .XAP file, on HTTP Headers Tab, Turn on “Enable Content Expiration”, click the “Expire Immediately” radio button. Save the changes. 

Ainsi, le dernier fichier .XAP (uniquement s’il existe un fichier .XAP) est téléchargé lorsque vous actualisez votre page sans fermer le navigateur.

J’espère que cela t’aides!

mettre le web.config suivant dans ClientBin