2009-06-12 2 views
1

Ich rufe asynchron zu einem Webdienst (Amazon Web Services) aus einer Silverlight-App und meine Rückrufmethode wird nie tatsächlich ausgelöst, nachdem ich den asynchronen Aufruf gestartet .Asynchrone Callback-Methode wird nie aufgerufen, um Ergebnisse von Webdienst von Silverlight

Ich habe einen anderen Web-Service-Proxy in einer Konsolen-App eingerichtet, und ich bin in der Lage, einen synchronen Aufruf durchzuführen und eine Antwort mit denselben Argumenten ohne Probleme zu erhalten.

Habe ich möglicherweise Probleme mit der Tatsache, dass dies von einem Browser aus aufgerufen wird? Ich bin mir nicht sicher, wo ich anfangen soll, da ich überhaupt keine Antwort bekomme, geschweige denn einen Fehler.

Unten ist der Code Ich verwende:

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; 
    } 

Antwort

1

Nun, es ist dein Problem;)

Es sieht aus wie Sie die ItemSearch Methode auf den Service anrufen, aber Sie sind Verdrahten hoch und die ItemLookup-Methode zu behandeln.

Ich mache es die ganze Zeit.

+0

Wow. Mehr Schlaf ist in Ordnung. Danke für die kritischen Augen! – Jason

+0

Manchmal trickst du Silverlight. Manchmal trickst Silverlight dich. mach's gut! –

Verwandte Themen