Sto utilizzando un DomainContext Servizi RIA in un'applicazione Silverlight 4 per caricare i dati. Se sto utilizzando il contesto dal thread dell'interfaccia utente, la callback sarà sempre sul thread dell'interfaccia utente?Su quale thread è in esecuzione la richiamata durante l'esecuzione di una chiamata di servizi RIA asincroni?
In altre parole, la richiamata è sempre sullo stesso thread della chiamata?
Alcuni codice di esempio riportato di seguito illustra lo scenario ...
private void LoadStuff()
{
MyDomainContext context = new MyDomainContext();
context.Load(context.GetStuffQuery(), op =>
{
if (!op.HasError)
{
// Use data.
// Which thread am I on?
}
else
{
op.MarkErrorAsHandled();
// Do error handling
}
}, null
);
}
Grazie Jehof, questo è utile per sapere ed è quello che ho trovato in pratica. Mi interessa comunque ottenere una risposta definitiva alla mia domanda specifica: è sempre il thread chiamante a ricevere la richiamata? (per esempio se non stiamo chiamando il thread dell'interfaccia utente). – Chris
@Chris: Sì, il callback viene eseguito nel thread chiamante. Il caricamento viene eseguito in un thread in background ed è non bloccante per il thread chiamante. – Jehof