Possiedo un controllo Silverlight impacchettato e distribuito su una web part SharePoint. Ho problemi con il browser che carica le nuove versioni del controllo dopo aver inviato un aggiornamento. Sto aggiornando la versione di assembly e file del mio progetto xap, ma non sembra avere importanza. L'unico modo per far caricare il nuovo xap dal browser è quello di entrare ed eliminare i file temporanei di Internet. Per me, durante lo sviluppo, va bene, ma dovrò trovare una soluzione prima che sia il momento della produzione. Qualche idea?Forzare i browser per ricaricare Silverlight xap dopo un aggiornamento
risposta
Questo ha a che fare con il modo in cui il browser gestisce le richieste di risorse. Flash ha problemi simili e ci sono un paio di soluzioni alternative.
Ecco uno article che descrive il problema e le possibili soluzioni.
Vorrei suggerire di fare qualcosa di simile:
Diciamo che avete questo per la vostra XAP nel tuo html:
<param name="source" value="ClientBin/myApp.xap"/>
vorrei versione in modo ogni volta che fate una spinta si modifica il numero di versione. Esempio:
<param name="source" value="ClientBin/myApp.xap?ver=1"/>
Grande! Ha funzionato anche nello sviluppo di Windows Phone.
ho messo la linea:
NavigationService.Navigate(new Uri("/Game.xaml?versao="+version, UriKind.RelativeOrAbsolute));
E poi l'override del metodo OnNavigatedTo
:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string var;
if (NavigationContext.QueryString.TryGetValue("version", out var))
{
...
}
}
t non è molto raro imbattersi in Xap caching, il che significa che ogni volta che si rilascia una nuova versione dell'applicazione Silverlight, il browser non scarica il file .XAP aggiornato.
Una soluzione potrebbe essere quella di modificare le proprietà di IIS. È possibile attivare l'opzione “Abilita intestazione HTTP Content scadenza”, a per il file Xap seguendo questi step:
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.
In questo modo l'ultima Xap (solo se v'è un ultimo file con estensione xap) andranno scaricato quando aggiorni la pagina senza dover chiudere il browser.
Spero che questo aiuti!
inserire il seguente web.config in ClientBin
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMaxAge="0.00:00:01" cacheControlMode="UseMaxAge"/>
</staticContent>
</system.webServer>
</configuration>
- 1. XAP scade dopo mezza giornata?
- 2. silverlight 4, caricamento dinamico dei moduli xap
- 3. Forza il browser per ricaricare tutta la cache dopo l'aggiornamento del sito
- 4. Come accedere a un file XAP Silverlight su un dominio?
- 5. forzare il testo RequireJS! per ricaricare
- 6. Forza il browser per ricaricare index.htm
- 7. Forzare ConfigurationManager per ricaricare tutte le sezioni
- 8. Avvia Silverlight Out-of-Browser dal browser dopo l'installazione
- 9. Avvia Silverlight dall'app browser in modo programmatico
- 10. Rendere il file XAP Silverlight scaduto dalla cache del browser a livello di programmazione
- 11. È possibile forzare il browser a ricaricare la stessa pagina con un hash?
- 12. Puoi forzare un evento touch per annullare dopo i touchBegan?
- 13. Silverlight 3 diversi comportamenti tra i browser
- 14. Silverlight: come configurare ServiceReferences.ClientConfig quando inserito all'interno di xap
- 15. Cosa significa XAP?
- 16. Come forzare ActiveRecord a ricaricare una classe?
- 17. In che modo i browser gestiscono il caching dei pacchetti XAP?
- 18. silverlight dal browser - icone
- 19. Come posso forzare i browser a ricaricare i file CSS memorizzati nella cache quando si utilizzano Asp.Net Themes?
- 20. Nell'applicazione attendibile del browser Silverlight 5
- 21. Puoi forzare Vue.js a ricaricare/ri-renderizzare?
- 22. Come ricaricare un modulo dopo averlo sostituito?
- 23. Come forzare SciTE a ricaricare automaticamente un file?
- 24. window.history.pushState aggiornamento del browser
- 25. Forzare un aggiornamento DOM in Internet Explorer dopo la manipolazione di javascript dom
- 26. Come mantenere lo stato dell'applicazione Silverlight dopo che l'utente ha premuto il pulsante di aggiornamento del browser?
- 27. Forza firefox per ricaricare l'immagine dopo il cambio img.src
- 28. Aggiornamento forzato della cache dopo l'implementazione
- 29. Aggiornamento da Silverlight 4 a Silverlight 5 causando AccessViolationException
- 30. Come posso aggiornare la pagina del browser da un'app Silverlight?
fa che il valore associato alla versione di montaggio (vale a dire, 1.0.0.0)? –
@Chris no è completamente inventato. Puoi mettere tutto lì, a patto di cambiarlo ogni volta che vuoi spingere le modifiche al client. La migliore pratica, tuttavia, potrebbe essere quella di mantenerla in linea con il tuo controllo delle versioni. – Joseph
Questo ha funzionato, grazie per il suggerimento. –