2010-04-14 4 views
0

Je travaille avec une API qui a certaines méthodes appelées de manière asynchrone avec une procédure d'événement à la fin. Je peux exécuter les méthodes, mais la procédure événementielle ne semble pas démarrer. NOTE: J'ai posté une question similaire hier mais je n'ai pas posté le code beaucoup plus tard. J'espère que quelqu'un peut repérer où je vais malLa procédure événementielle asynchrone C# ne fonctionne pas

public partial class Window1 : Window 
{ 
ClientAppServer newServer= new ClientAppServer(); 

public Window1() 
{ 
    InitializeComponent(); 

    //the event thats supposed to fire 
    newServer.ReceiveRequest += ReadServerReply; 
} 


private void ReadServerReply(RemoteRequest rr) 
{ 
    //this point is never reached 
    MessageBox.Show("reading server reply"); 
    if ((rr.TransferObject) is Gateways) 
    { 
     MessageBox.Show("you have gateways!"); 
    } 
} 


private void login() 
{ 
//API docs says this is an asynchronous call   
newServer.RetrieveCollection(typeof(Gateways), true); 

} 


private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    this.login(); 
} 
+0

Je dois aussi ajouter que je l'ai essayé d'ajouter des opérations non-GUI à la procédure d'événement, comme la création d'un fichier texte et cela ne fonctionne pas non plus. Je ne pense pas que l'événement tire du tout. –

+1

Difficile de dire ce qui ne va pas sans voir le code source de ClientAppServer. L'avez vous? En surface, il semble que cet événement ne soit pas soulevé. –

Répondre

1

De quel API s'agit-il? Cela pourrait nous aider à le résoudre.

À partir du code que vous avez publié, il ne semble pas que la méthode RetrieveCollection ait quelque chose à voir avec la réception de requêtes - elle ne semble pas devoir être déclenchée.

En termes de conseil, je suppose que vous avez essayé de définir un point d'arrêt sur le gestionnaire d'événements. Si vous n'avez pas de code source pour votre bibliothèque, vous pouvez utiliser Reflector pour voir ce que fait votre bibliothèque et vérifier si elle doit déclencher l'événement.

http://www.red-gate.com/products/reflector/

Questions connexes