Fügen Sie eine "Version" querystring an Ihre XAP-URL an, etwa:
%Vor%Dies wird den Browser (und viele Webserver) dazu verleiten zu glauben, dass dies eine andere Datei ist. Und wenn das Cache-Problem erneut auftritt, erhöhen Sie die Anzahl.
Wenn Sie dann richtiges Caching verwenden möchten, tun Sie dies auf der Serverseite mit OutputCache Direktiven.
Soweit ich das sehe, scheint das ein Problem mit Firefox zu sein - als ich IE8 benutzt habe, ist mir das nicht passiert (ich weiß, dass dies vielleicht seine eigene Würmer-Dose öffnet, aber zumindest für das Debuggen und Testen von Silverlight) , IE ist viel besser)
Ich hatte keine Probleme mit Silverlight-Assemblies, die zwischengespeichert wurden - Sie könnten versuchen, die HTTP-Anfragen zu debuggen, die hin und her gehen, um zu sehen, ob Ihr Server stattdessen falsche Informationen an den Browser zurückgibt (z. B. ein "nicht modifiziert "Antwort".
Für allgemeines Nicht-Cache-Verhalten ist die einzige zuverlässige Methode, die ich gefunden habe, Caching im Browser zu deaktivieren.
Für IE war dies die einzige zuverlässige Option - ansonsten werden, selbst wenn richtige No-Cache-Header gesendet werden, bestimmte Dinge noch zwischengespeichert (insbesondere dynamisch geladene Ressourcen, auf die über Javascript XmlHttpRequest zugegriffen wird). Ich hatte nicht speziell Probleme mit Silverlight gecached, wenn es nicht sollte, obwohl - IE hat immer die neuesten Updates geladen, auch wenn Cache aktiviert ist.
Firefox war viel problematischer - selbst wenn der Cache deaktiviert wird, werden manchmal auch XmlHttpRequest-geladene Ressourcen zwischengespeichert. In einem solchen Fall war das manuelle Auffrischen einige Male die einzige Lösung. Wieder einmal hatte ich keine Probleme mit Silverlight Assemblies, selbst wenn Cache aktiviert ist.
Hier ist, wie ich es für Flex / Flash und Silverlight getan habe und es funktioniert.
Code hinter ASPX oder CSHTML
%Vor%ASPX oder CSHTML
%Vor% Trick ist, dass Sie die URL ändern müssen, indem Sie etwas nach ?
hinzufügen und eine neue willkürliche Abfragezeichenfolge erstellen oder die Schreibzeit der Datei verwenden. Für den Browser sind something?t=1
und something?t=2
zwei URLs und es wird nicht abgeholt Cache, wenn sich t ändert.
Anstelle der Schreibzeit können Sie auch einen beliebigen Standardkonfigurationswert wählen, oder Sie können Ihren ASPX oder HTML einfach fest codieren und nach ?
etwas anhängen, das Browser dazu zwingt, die silverlight xap-Datei erneut herunterzuladen.
Tags und Links silverlight silverlight-3.0