添加完成后,我们可以在对象浏览器中浏览一下生成的客户端对象:
当然大家也可以手工去编写客户端的代码,请参考WCF的相关内容,这里不再赘述。下面编写调用服务并获取数据,这里仍然是采用异步模式,由于在WCF服务的配置中我们采取了BasicHttpBinding,客户端也要采用
BasicHttpBinding。我们需要注册GetPostsCompleted事件处理方法,以便完成后回调,同时调用GetPostsAsync()方法获取数据。完整的代码如下所示:
public partial class Page : UserControl { public Page() { InitializeComponent(); } private void UserControl_Loaded(object sender, RoutedEventArgs e) { Binding binding = new BasicHttpBinding(); EndpointAddress endPoint = new EndpointAddress( \); BlogClient client = new BlogClient(binding, endPoint); client.GetPostsCompleted += new EventHandler
结束语
本文简单演示了在Silverlight 2中如何与WCF进行通信,你可以从这里下载示例代码。
(四)数据与通信之ASMX
本文将简单介绍在Silverlight 2中如何与ASMX进行通信。
简单示例
本文的示例非常简单,其过程也跟我们在一步一步学Silverlight 2系列(14):数据与通信之WCF中差不多,我们仍然显示一个最新随笔的列表,最终完成后效果如下所示:
定义一个业务实体Post。
public class Post { public int Id { get; set; } public string Title { get; set; } public string Author { get; set; } } 在Web项目中添加一个Web Service文件,命名为BlogService.asmx
实现该服务,定义一个GetPosts方法:
public class BlogService : WebService { [WebMethod] public Post[] GetPosts() { List