【发布时间】:2010-10-10 16:32:03
【问题描述】:
我有一个调用方法并返回通用列表的 Web 服务。 webservice的完成方法是这样的(注意:names和e.Result都是同类型的List):
void SetNames()
{
ServiceReference1.ServiceClient webservice = new ServiceReference1.ServiceClient();
webservice.GetNameCompleted += new EventHandler<GetNameCompletedEventArgs>(webservice_GetNameCompleted);
webservice.GetNameAsync();
}
private void webservice_GetNameCompleted(object sender, ServiceReference1.GetNameCompletedEventArgs e)
{
names = e.Result;
}
我遇到的问题是我只能在 webservice 方法中检索名称列表中的项目。每当我尝试在该方法之外的任何地方访问名称列表中的项目时,它都是空的。例如(这在文本框中不显示任何内容),
List<string> names = new List<string>();
public MainPage()
{
InitializeComponent();
SetNames();
foreach (string name in names)
textBox1.Text += name;
}
但这会显示正确的东西:
private void webservice_GetNameCompleted(object sender, ServiceReference1.GetNameCompletedEventArgs e)
{
names = e.Result;
foreach (string name in names)
textBox1.Text += name;
}
我是 Silverlight 和 webservies 的新手,我可能看多了一些东西。我已经为此工作了一段时间,我觉得我需要寻求帮助。任何帮助将不胜感激!
【问题讨论】:
-
如果我的回答有用,您能否给它投票。此外,如果 Serious 的回答回答了您的问题,您能否将他的回答标记为正确答案。声誉对 SO 意义重大:) 干杯
-
我当然可以并且愿意。我的荣幸。
-
好吧,我现在不能投票,但如果情况发生变化,我会投票给你,因为这些信息对我很有帮助。
标签: silverlight web-services linq-to-sql wcf