Silverlight与Web服务交互及数据绑定全解析
1. 调用Web服务
在Silverlight中使用代理类调用Web服务,首先要导入指定的命名空间。假设使用的命名空间是MyWebServer,项目名为MySilverlightProject,需要添加如下语句:
using MySilverlightProject.MyWebServer;在Silverlight里,所有Web服务调用都必须是异步的。调用方法启动调用并发送请求后,该方法会立即返回,代码可继续执行其他任务,用户也能继续与应用程序交互。当收到响应时,代理类会触发对应的完成事件,事件名格式为MethodNameCompleted,必须处理此事件来处理结果。
以下是调用TestService.GetServerTime()方法的示例:
// 创建代理类 TestServiceClient proxy = new TestServiceClient(); // 为完成事件附加事件处理程序 proxy.GetServerTimeCompleted += new EventHandler<GetServerTimeCompletedEventArgs>(GetServerTimeCompleted); // 启动Web服务调用 proxy.GetServerTimeAsync();