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。 –