C# immer die Ergebnisse von einem asynchronen Aufruf

Habe ich eine API, mit denen ich arbeite, und es hat eine begrenzte Dokumentation. Mir wurde gesagt, dass einige der Methoden, die Sie ausführt, werden asynchron aufgerufen.

Wie kann ich das Ergebnis bekommen, das diese asynchrone Aufrufe. Beachten Sie, dass bin ich nicht, tut nichts besonderes, Sie nennen die API behandelt den asynchronen Teil. Aber ich kann nicht scheinen, um eine "Antwort" zurück von diesen anrufen - ich nehme an, dass ist, weil Sie in einem anderen thread.

UPDATE - ich habe einen Teil des Codes unten. Die API verwendet eine Ereignisprozedur für den Rückruf, aber es scheint nie zu Feuer.

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

    public Window1()
    {
        InitializeComponent();
        newServer.ReceiveRequest += ReadServerReply;
    }


    private void ReadServerReply(RemoteRequest rr)
    {

        MessageBox.Show("reading server reply");
        if ((rr.TransferObject) is Gateways)
        {
            MessageBox.Show("you have gateways!");
        }
    }


    private void login()
    {
            newServer.RetrieveCollection(typeof(Gateways), true);

    }


    private void button1_Click(object sender, RoutedEventArgs e)
    {
        this.login();
    }
  • Es gibt verschiedene Paradigmen in .NET asynchrone Aufrufe. Könnten Sie einige Beispiel-code?
  • Post code. In der Regel asynchrone API-Aufrufe nehmen Sie einen Delegaten als parameter - dieser Delegat wird dann aufgerufen, wenn, was auch immer, was Sie genannt ist fertig. Die delegate-Methode ist der Ort im Programm, wo bekommst du eine "Antwort".
  • Wenn die API ermöglicht asynchrone Methoden, dann wird es um Methoden/Ereignisse erhalten die Ergebnisse, von denen die asynchrone Methode oder ein Weg, um Kapseln diese Methoden selbst.
Schreibe einen Kommentar