Wie kann eine normale Methode merken das ein Event gefueert wurde?



  • Hallo,

    Was will ich:

    Ich habe eine Connection Klasse. Diese Connection KLasse verwendet eine asynchronen TcpCLient KLasse (BeginReceive etc). Bei diversen Events im der TcpClient Klasse feuere ich Events, der dazugehörige Handler ist in der COnnection Klasse.

    Die Connection KLasse bietet auch noch eine Methode -> string GetFile(string filename)

    Wird diese Methode nun aufgerufen übergebe ich den filename and den TcpClient der an den Server ein Request sendet (ich will das file). Irgendwann ist das file da und die TcpClient klasse feuert ein Event an einen EventHandler in der COnnectionklasse mit der Info "hallo ich bin fertig der pfad zum file lautet"

    Bis hierher funktioniert alles

    Problem:

    Der EventHandler weiss nun das es fertig ist, nur wie geb ich genau diese info nun der Methode GetFIle die das ganze vorher in die Wege geleitet hat?

    DIese muss nun nämlich per return den filepfad+dateinamen zurückgeben. NUr wie bekommt diese mit das der Eventhandler ein OK bekommen hat.

    Hinweis: Das Asynchrone mit dem Eventhandler habe ich darum iplementiert weil ich mitbekommen muss wenn der Server abgeschmiert ist und ch gegebenfalls ein reconnect ausfürhen kann

    Wichtig: alles was vor dem Aufruf GetFile liegt ist unantastbar (das ganze oben ist in einer DLL und GetFile wird von einer Fremdapplication aufgerufen)

    Die Brücke zwischen DLL und Fremdapplikation und die Fähigkeit mittels Event mitzubekommen das der Server abgeschmiert ist muss bleiben.

    Wie kann ich das lösen?

    Danke!




Anmelden zum Antworten