Ich schreibe ein C# -Programm, das ein spezielles Google Mail-Konto mit POP3 für spezielle Befehls-E-Mails überwacht und entsprechend reagiert.E-Mail-Monitor Synchronisation
Für maximale Zuverlässigkeit werde ich dieses Programm auf mehreren Computern im ganzen Land ausführen. Ich habe derzeit eine Race-Bedingung, wo zwei Instanzen des Programms die gleiche Nachricht lesen können, bevor einer von ihnen löscht, wodurch die Nachricht zweimal verarbeitet wird.
Wie kann ich sicherstellen, dass jeder Befehl genau einmal verarbeitet wird?
Gmails POP3-Zugriff verwendet, um nur jede Nachricht einmal zu liefern (wodurch RETR und DELE eine einzelne atomare Operation), aber ich kann dieses Verhalten nicht mehr reproduzieren.
Die einzige Methode der Kommunikation zwischen den Computern ist ein SQL Server und ein HTTP-Server (die ich kontrolliere).
Alles in allem klingt so etwas wie die einzig mögliche Lösung unter den Umständen, mit denen Sie arbeiten müssen. – jerryjvl
beliebiger Beispielcode in C# ?? – Kiquenet