2009-02-27 11 views
1

bir çağrı kaybetmek, MyWebServiceNameEventArgs üzerinden geri Liste <> agrega içeren dönen değildir. Örneğin, bir Liste ve Listesi olan bir Kişi sınıfım var. Çağrıyı izlediğimde, kişinin listeye uygun şekilde doldurulduğunu görüyorum. o MyWebServiceNameEventArgs üzerinden gelmesi Ancak, listeleri boş. FirstName, DOB vb. gibi basit türler doğru şekilde döndürülür.Nesneler Silverlight zaman uyumsuz aramalar dönen bir WebService bir Silverlight 2.0 kontrolden onların içerdiği agrega

Ben kapalı agrega iade edilecek almak için yapmanız gereken bir şey var mı?

İşte benim kod:

private void btnGetPerson_Click(object sender, RoutedEventArgs e) 
{ 
    var proxy = new TutorWCFServicesClient(); 
    proxy.GetPersonWithPersonKeyOfCompleted += new EventHandler<GetPersonWithPersonKeyOfCompletedEventArgs>(proxy_GetPersonWithPersonKeyOfCompleted); 
    var perID = 29; // testing 
    proxy.GetPersonWithPersonKeyOfAsync(perID); 
} 

void proxy_GetPersonWithPersonKeyOfCompleted(object sender, GetPersonWithPersonKeyOfCompletedEventArgs e) 
{ 
    var per = e.Result; 
    if (per != null) 
    { 
    FirstName.Text = per.FirstName; 
    LastName.Text = per.LastName; 
    if (per.Phones != null) 
    { 
     var hPhone = (from phone in per.Phones where phone.PhoneType.ToLower() == "home" select phone).FirstOrDefault(); 
     var cPhone = (from phone in per.Phones where phone.PhoneType.ToLower() == "cell" select phone).FirstOrDefault(); 
     var wPhone = (from phone in per.Phones where phone.PhoneType.ToLower() == "work" select phone).FirstOrDefault(); 

     if (hPhone != null) 
     { 
     PhoneHome.Text = string.Format("({0}) {1}-{2}", hPhone.AreaCode, hPhone.Exchange, hPhone.Number); 
     } 
     if (cPhone != null) 
     { 
     PhoneCell.Text = string.Format("({0}) {1}-{2}", cPhone.AreaCode, cPhone.Exchange, cPhone.Number); 
     } 
     if (wPhone != null) 
     { 
     PhoneSchool.Text = string.Format("({0}) {1}-{2}", wPhone.AreaCode, wPhone.Exchange, wPhone.Number); 
     } 
    } 
    } 
    else 
    { 
    FirstName.Text = "Not Found"; 
    } 
} 

cevap

1

Salak hata, ben Silverlight uygulamasında ServiceReference yenilemek için unuttum.

+0

Ben orada oldum bana :-) inanmak ve neyin yanlış gittiğini anlamaya çalışırken masamın üzerinde başımı çarptı ettik. +1. –