Hey Leute,
schnell zur Sache, ich hab ein Netzwerkmodul, dass sich auf 2 Wegen zu einem Server verbindet. Wieso 2? damit ich einen Fallback habe, falls Firewalls etc. nicht gelockert werden können. Das tut aber nichts zur Sache. Über weg Nummer 1 erledige ich alles bequem per Async Funktionen der Socket Klasse. Weg Nummer zwei hat diese Funktionen nicht, da ich aber nicht möchte, dass alles Einriert (bis zu 15 Sekunden), bleibt nur ein Weg übrig, ich implementiere den Async-Part slebst. Wie? Ich packe die Kommunikation innen Thread(-Pool) und feuere ein Event, wenns Fertig ist. Das ist soweit nicht das schwere. Mein Problem ist, dass ich irgendwann auf dem Main-Thread lande, und dort ohne Invoke eben nicht sehr weit komme, da irgendwann später auch GUI-aufrufe stattfinden würden.
Ich Frage mich nun, wenn ich nun weg zwei wie gesagt Implementiere, und ein Event Feuere, in welchem Thread läuft dann das ganze ab? Im Main-Thread, der das Event Abboniert hat? Oder in dem Thread(-Pool) der das Event gefeuert hat? Wenn letzteres der Fall ist, wie bekomme ich das Feuern des Events in den Main-Thread, ohne die Invokes einer Form o.ä. zu haben?
schnell zur Sache, ich hab ein Netzwerkmodul, dass sich auf 2 Wegen zu einem Server verbindet. Wieso 2? damit ich einen Fallback habe, falls Firewalls etc. nicht gelockert werden können. Das tut aber nichts zur Sache. Über weg Nummer 1 erledige ich alles bequem per Async Funktionen der Socket Klasse. Weg Nummer zwei hat diese Funktionen nicht, da ich aber nicht möchte, dass alles Einriert (bis zu 15 Sekunden), bleibt nur ein Weg übrig, ich implementiere den Async-Part slebst. Wie? Ich packe die Kommunikation innen Thread(-Pool) und feuere ein Event, wenns Fertig ist. Das ist soweit nicht das schwere. Mein Problem ist, dass ich irgendwann auf dem Main-Thread lande, und dort ohne Invoke eben nicht sehr weit komme, da irgendwann später auch GUI-aufrufe stattfinden würden.
Ich Frage mich nun, wenn ich nun weg zwei wie gesagt Implementiere, und ein Event Feuere, in welchem Thread läuft dann das ganze ab? Im Main-Thread, der das Event Abboniert hat? Oder in dem Thread(-Pool) der das Event gefeuert hat? Wenn letzteres der Fall ist, wie bekomme ich das Feuern des Events in den Main-Thread, ohne die Invokes einer Form o.ä. zu haben?