永远不会调用异步回调方法从Silverlight的web服务中给出结果
我正在从Silverlight应用程序异步调用web服务(AmazonWeb服务),启动异步调用后,我的回调方法从未真正触发 我已经在一个控制台应用程序中设置了另一个web服务代理,我能够使用相同的参数进行同步调用并获得响应,没有任何问题 这是从浏览器中调用的,我可能有问题吗?我不知道从哪里开始,因为我根本没有得到回应,更不用说错误了 下面是我正在使用的代码:永远不会调用异步回调方法从Silverlight的web服务中给出结果,silverlight,web-services,amazon-web-services,Silverlight,Web Services,Amazon Web Services,我正在从Silverlight应用程序异步调用web服务(AmazonWeb服务),启动异步调用后,我的回调方法从未真正触发 我已经在一个控制台应用程序中设置了另一个web服务代理,我能够使用相同的参数进行同步调用并获得响应,没有任何问题 这是从浏览器中调用的,我可能有问题吗?我不知道从哪里开始,因为我根本没有得到回应,更不用说错误了 下面是我正在使用的代码: private void btnQueryAmazon_Click(object sender, RoutedEventArgs
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;
}
private void bqueryamazon\u单击(对象发送方,路由目标)
{
如果(!string.IsNullOrEmpty(txtQuery.Text))
{
ItemSearch=newitemsearch();
///设置身份验证和搜索参数
AmazonService.AWSECommerceServicePortTypeClient服务=新建AmazonService.AWSECommerceServicePortTypeClient();
service.ItemLookupCompleted+=新事件处理程序(service\u ItemLookupCompleted);
service.itemsearchsync(search);
}
}
无效服务\u ItemLookupCompleted(对象发送方,AmazonService.ItemLookupCompletedEventArgs e)
{
txtError.Text=e.Result.Items.Count().ToString();
grdItems.ItemsSource=e.Result.Items;
}
好吧,这就是你的问题;)
看起来您正在调用服务上的ItemSearch方法,但是您正在连接并处理ItemLookup方法
我总是这样做。好吧,这是你的问题;) 看起来您正在调用服务上的ItemSearch方法,但是您正在连接并处理ItemLookup方法
我总是这样做。哇。多睡一会儿就好了。谢谢你敏锐的眼睛!有时你会欺骗Silverlight。有时Silverlight会欺骗你。当心!哇!多睡一会儿就好了。谢谢你敏锐的眼睛!有时你会欺骗Silverlight。有时Silverlight会欺骗你。当心!