2009-02-27 6 views
1

MyWebServiceNameEventArgs経由で返されたSilverlight 2.0コントロールからWebServiceへの呼び出しでは、集約されたリスト<>が返されません。たとえば、リストとリストを持つPersonクラスがあります。私が電話を辿ると、その人にリストが適切に設定されていることがわかります。ただし、MyWebServiceNameEventArgs経由で到着すると、リストはnullになります。 FirstName、DOBなどの単純な型が正しく返されます。Silverlight Async呼び出しから返されたオブジェクトは、含まれている集計を失います

囲まれた集約が返されるために必要なことはありますか?

はここに私のコードです:

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"; 
    } 
} 

答えて

1

ダムエラー、私は、SilverlightのアプリでServiceReferenceを更新するのを忘れました。

+0

私はそこに行ってきました:-)私は信じて、私は机の上で何がうまくいかなかったのか把握しようとしました。 +1。 –

関連する問題