Ich habe einen Tcp-Server, der, wenn ein Client eine Verbindung herstellt, einen neuen Thread erstellt und hinzufügt, aber jedes Mal, wenn ich versuche, auf Informationen über die Verbindung oder irgendetwas darüber zuzugreifen, sagen wir mal, wie viele Clients verbunden sind Ich bekomme eine Cross-Thread-Ausnahme oder etwas ähnliches.C#: Wie kann ich elegant und simpel Cross-Threaded-Aufrufe machen?
Ich lese mehrere Tutorials über Dinge namens Delegaten, Aufruf und Reflexion, aber alle Beispiele oder Tutorials verwirren mich einfach so, dass man einen bestimmten Aufruf ausführt, der in einem anderen fehlschlägt.
Gibt es eine elegante oder einfache Möglichkeit, dies zu tun? Muss ich zuerst lernen, etwas anderes zu tun? Oder mache ich die Dinge viel komplexer als sie sind? Alle Vorschläge, Links oder Tipps werden am meisten geschätzt und akzeptiert.
Zweitens der CodeProject Artikel, obwohl ich die BackgroundWorker Lösung bevorzuge (auch im Artikel). Nur asynchrones Aufrufen von Ereignissen ist in vielen Fällen jedoch in Ordnung. – OregonGhost
Ich muss zugeben, dass ich nicht viel mit der BackgroundWorker-Klasse gearbeitet habe, aber ich werde mich darum kümmern. Vielen Dank. –
Eigentlich habe ich auch nicht viel mit BackgroundWorker gearbeitet, aber ich habe das gleiche Konzept in meiner letzten größeren Anwendung verwendet und bin damit einverstanden :) – OregonGhost