Verhindert, dass Silverlight 3 beim Debuggen zwischengespeichert wird

9

Ich gehe davon aus, dass das Problem, das ich habe, mit dem Caching zusammenhängt. Codeänderungen, die ich mache, werden beim Debuggen nicht aufgenommen. Meistens bekomme ich eine vorherige Version der App. Wie verhindere ich das?

    
Micah 22.11.2009, 04:20
quelle

8 Antworten

2

Strg + F5 ist eine einfache Möglichkeit, eine Seite zu aktualisieren und den Cache dieser Seite gleichzeitig zu löschen - es kann helfen:)

    
Chris 16.12.2009 16:39
quelle
2

Versuchen Sie, die Seite hinzuzufügen, die Silverlight-Anwendung auf Page_Load hostet:

%Vor%     
cromacl 29.11.2009 15:28
quelle
1

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.

    
chakrit 19.12.2009 21:42
quelle
0

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)

    
Paul Betts 22.11.2009 09:54
quelle
0

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.

    
Sander 22.11.2009 10:00
quelle
0

In Firefox verwende ich das Plugin "Web-Entwickler" und wähle einfach "Cache deaktivieren" aus. Funktioniert gut.

    
ChadT 24.11.2009 01:08
quelle
0

Firefox 3.5 unter Extras hat die Option zum privaten Browsen. Klicken Sie darauf, um das Caching zu deaktivieren.

    
steveolyo 18.12.2009 00:36
quelle
0

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.

%Vor%     
Akash Kava 10.01.2012 16:28
quelle

Tags und Links