我正在从 Silverlight 应用程序异步调用 Web 服务(Amazon Web Services),并且在我启动异步调用后,我的回调方法实际上从未被触发。
我在控制台应用程序中设置了另一个 Web 服务代理,我能够使用相同的参数进行同步调用并获得响应,而不会出现任何问题。
我可能对从浏览器中调用它的事实有问题吗?我不知道从哪里开始,因为我根本没有得到回应,更不用说错误了。
下面是我正在使用的代码:
private void btnQueryAmazon_Click(object sender, RoutedEventArgs e)
{
if (!string.IsNullOrEmpty(txtQuery.Text))
{
ItemSearch search = new ItemSearch();
/// set authentication and search parameters
AmazonService.AWSECommerceServicePortTypeClient service = new AmazonService.AWSECommerceServicePortTypeClient();
service.ItemLookupCompleted += new EventHandler<AmazonService.ItemLookupCompletedEventArgs>(service_ItemLookupCompleted);
service.ItemSearchAsync(search);
}
}
void service_ItemLookupCompleted(object sender, AmazonService.ItemLookupCompletedEventArgs e)
{
txtError.Text = e.Result.Items.Count().ToString();
grdItems.ItemsSource = e.Result.Items;
}