C# 在Silverlight 3.0 ASP.NET中使用Web服务

C# 在Silverlight 3.0 ASP.NET中使用Web服务,c#,asp.net,silverlight,web-services,silverlight-3.0,C#,Asp.net,Silverlight,Web Services,Silverlight 3.0,我需要在Silverlight中调用一个Web服务,但我不知道如何实现它 我发现的大多数示例都不是3.0或是关于WPF的。任何协助都将不胜感激 编辑:取得了一些进展,但仍然无法使其工作。它说它返回一个空白,但在我的服务中,我返回一个列表。(除非这不是在调用我的方法。我假设它在我的方法名称中添加了“async”。) FileServiceSoapClient sc=newfileservicesoapclient(); List x=sc.getfileasync(); 在silverlight中

我需要在Silverlight中调用一个Web服务,但我不知道如何实现它

我发现的大多数示例都不是3.0或是关于WPF的。任何协助都将不胜感激

编辑:取得了一些进展,但仍然无法使其工作。它说它返回一个空白,但在我的服务中,我返回一个列表。(除非这不是在调用我的方法。我假设它在我的方法名称中添加了“async”。)

FileServiceSoapClient sc=newfileservicesoapclient();
List x=sc.getfileasync();

在silverlight中,所有web服务调用都必须是非阻塞的。您的FileServiceSoapClient应该具有完成事件,您可以将这些事件连接到其中,这些事件将包含服务调用的结果

例如,沿着

FileServiceSoapClient sc = new FileServiceSoapClient();
sc.GetFilesCompleted += (sender, args) =>
{
     List<string> x = args.Result;
     //do something with "x" here
};
sc.GetFilesAsync();
FileServiceSoapClient sc=newfileservicesoapclient();
sc.GetFilesCompleted+=(发送方,参数)=>
{
列表x=args.Result;
//在这里用“x”做点什么
};
sc.getfileasync();

您尝试了什么,为什么不奏效?通常,您只需在Visual Studio解决方案资源管理器中右键单击Silverlight项目并选择“添加服务引用”。@RobSiklos我不知道如何从.xaml.cs访问web服务。
FileServiceSoapClient sc = new FileServiceSoapClient();
sc.GetFilesCompleted += (sender, args) =>
{
     List<string> x = args.Result;
     //do something with "x" here
};
sc.GetFilesAsync();