Básicamente, estoy obteniendo datos de un WebService, y en ResponseCallback intento llenar un ObservableCollection con los resultados que obtuve de la respuesta, pero obtengo un UnauthorizedAccessException
"Acceso de hilos cruzados no válido" cuando intento hacerlo.Problema de acceso a subprocesos cruzados en ResponseCallback en Windows Phone 7
¿Cuál sería la mejor manera de llenar dicha colección observable cuando obtenga el resultado?
Gracias!
Este es el código:
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();
}
}
Gracias por la sugerencia, pero no estoy muy seguro de poner esta solución en el código de producción. – Carlo
Aparentemente, la solución no funciona en Windows Phone 7. No dije que esto era lo que estaba usando al principio, pero ahora lo agregué al título/etiquetas. Gracias. – Carlo
gotcha. No tengo experiencia con el teléfono 7 ... ¡así que buena suerte! – climbage