1

我正在从 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;
    }
4

1 回答 1

1

好吧,这是你的问题;)

看起来您正在调用服务的 ItemSearch 方法,但您正在连接并处理 ItemLookup 方法。

我一直都这样做。

于 2009-06-12T22:28:28.027 回答