Moin Jungs,

ich bin was .NET angeht nicht sehr bewandert und stehe bei der Arbeit nun vor folgender Herausforderung:

Einer unserer Kunden regelt Durchfahrten von Fahrzeugen mit Schranken.
Das zu passierende Fahrzeug hält vor der Schranke, hält einen Passageschein an einen Barcode Scanner, welcher den gescannten Code an unser Tool durchgibt.
Dieses prüft per dann in einer Datenbank, ob der Code gültig ist. Wenn alles stimmt, wird (BISHER) an das Steuermodul der Schranke eine XML gesendet, in der der eindeutige Befehl zum Öffnen enthalten ist.

So. Nun hat der Kunde neue Schranken bestellt, die per TCP/IP angesprochen werden können. Details zu den Schranken sind auch egal.
Der wesentliche Punkt ist, dass der Kunde nun keine einzelnen Rechner mehr an jeder Schranke haben möchte, sondern nur Scanner, die per Seriell/IP-Wandler den gescannten Barcode an einen Server schicken sollen.
Der Server soll dauerhaft auf zwei Scanner "hören" und ggf. die zugehörigen Schranken ansprechen.

Ich brauche nun einen Tipp dazu, wie ich das organisieren soll.
Macht es Sinn, einen BackgroundWorker sich mit den Scannern verbinden zu lassen und dauerhaft den Stream abzuhören? Leider bin ich mit dem Multithreading von .NET nicht so vertraut.

Was mich auch stutzen lässt, ist die Tatsache, dass es sich um zwei Scanner und zwei Schranken handelt. Macht es Sinn, da allgemeingültig Multithreading zu nutzen oder fahre ich erst einmal sicherer damit, einfach jeweils zwei Instanzen der Scanner Klasse und der Schranken Klasse aufzuziehen?


Greetz,
sontyp