Stavo sviluppando un programma per ottenere le coordinate geografiche (utilizzando un servizio di bing maps) di alcuni miei indirizzi e ho avuto un problema sulla sincronizzazione.
Vi illustro il problema:
Ho creato una mia classe Indirizzo, con tutte le property necessarie.
Ho creato una List di elementi di tipo indirizzo.
Per ottenere le coordinate geografiche avevo semplicemente pensato di fare un ciclo nel seguente modo
Dove Source è la mia lista di elementi indirizzo. Per ottenere il risultato, restituitomi dal servizio dopo aver lanciato il metodo GeocodeAsync, ho gestito l’evento GeodoceCompleted.
Ma nel complesso c’era un problema prima ancora che ottenessi il risultato della prima richiesta il ciclo for aveva già finito e aveva inviato altre richieste creando un disastro. Per risolvere ho utilizzato la classe AutoResetEvent
ed l’ho utilizzato così nel cilco
mentre nella gestione dell’evento GeocodeComplete
Ora saprò dove andare a trovare la soluzione nel caso (anche se difficile) la dimenticassi o nel caso servisse a qualcuno.
Francesco Valentino
Ho ritrovato molto utile questo link per lo sviluppo di applicazioni silverlight che non necessariamente richiedono di essere eseguite da un borwser.
A me è servito in quanto stavo sviluppando un programma, da eseguire in locale, che doveva avere accesso in lettura e scrittura a dei file system (che come sappiamo per motivi di sicurezza Silverlight non permette), in questo modo ho risolto il mio problema.
Sperando vi possa servire.
Francesco Valentino