Fondamentalement, j'obtiens des données d'un WebService, et dans le ResponseCallback j'essaye de remplir une ObservableCollection avec les résultats que j'ai obtenus de la réponse, mais je reçois un UnauthorizedAccessException
"Accès au thread croisé non valide" lorsque j'essaie de le faire.Problème d'accès au thread croisé dans ResponseCallback dans Windows Phone 7
Quelle serait la meilleure façon de remplir cette collection observable lorsque j'obtiendrais le résultat?
Merci!
Voici le code:
public ObservableCollection<Person> People { get; set; }
private void ResponseCallback(IAsyncResult asyncResult)
{
HttpWebRequest request = (HttpWebRequest)asyncResult.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult);
string responseString = string.Empty;
using (Stream content = response.GetResponseStream())
{
if (request != null && response != null)
{
if (response.StatusCode == HttpStatusCode.OK)
{
XDocument document = XDocument.Load(content);
var people = from p in document.Descendants()
where p.Name.LocalName == "PersonInfo"
select Person.GetPersonFromXElement(p);
foreach (Person person in people)
{
this.People.Add(person); // this line throws the exception
}
}
}
content.Close();
}
}
Merci pour la suggestion, mais je ne suis pas vraiment sûr de mettre cette solution dans le code de production. – Carlo
Apparemment, la solution ne fonctionne pas dans Windows Phone 7. Je n'ai pas dit que c'était ce que j'utilisais au début, mais maintenant je l'ai ajouté au titre/tags. Merci. – Carlo
gotcha. Je n'ai aucune expérience avec le téléphone 7 .. alors bonne chance! – climbage