Buongiorno.
Ho realizzato a parte una barra animata con Silverlight.
Poichè viene inclusa in diverse pagine/diversi controlli, ho pensato di non includerla separatamente in tutti gli xap, scaricandola dinamicamente al caricamento della pagina, utilizzando un WebClient.
Prima di tutto, ho realizzato una semplice pagina di test in cui ho inserito un bottone; il gestore dell'evento Click si occupa poi di istanziare il WebClient ed eseguire tutte le operazioni.
Ecco il codice:
private string _base = "http://www.miodominio.net/navigazione.xap";
...
private void Button_Click(object sender, RoutedEventArgs e)
{
WebClient selClient = new WebClient();
selClient.OpenReadCompleted += new OpenReadCompletedEventHandler(selClient_OpenReadCompleted);
navigateUri = new Uri(_base4, UriKind.Absolute);
selClient.OpenReadAsync(navigateUri);
}
void selClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs args)
{
StreamResourceInfo _sri = new StreamResourceInfo(args.Result, null);
...
}
Questo codice, inevitabilmente, solleva una TargetInvocationException nel momento in cui istanzio il primo StreamResourceInfo.
In pratica, lo scaricamento dello xap avviene correttamente, ma non mi riesce di aprire lo Stream.
Non capisco esattamente in che punto si verifichi il problema.
Visto che comunque la barra di navigazione è molto leggera(e dev'essere sempre disponibile da subito), non ci sarebbero problemi a inserirla direttamente nello xap originale, a costo di qualche Mb occupato in più sull'hard-disk del server.
Ma vorrei riuscire a capire la natura di questo problema.
Mi sembra di aver notato(non ho ancora fatto verifiche approfondite, comunque) che questo problema si verifica spesso quando uso un controllo Silverlight IN UNA PAGINA HTML DI PROVA(cioè non preventivamente inserito in un progetto web), senza Web Server, e cerco di accedere a una risorsa remota.
Potrebbe essere?