Ich arbeite an einer Shopping-Website, in der wir nur einzigartige Produkte haben. So können Benutzer die gleichen Produkte gleichzeitig sehen und hinzufügen, aber wenn sie eine Bestellung aufgeben, werden die gleichen Artikel zum Warenkorb hinzugefügt.So sperren Sie ein bestimmtes Stück Code C#
Aber ich habe ein Problem, wie werde ich sicherstellen, dass meine Stelle Bestellcode, wenn sie aufgerufen wird gesperrt werden und alle anderen Anforderungen müssen in der Warteschlange warten, bis es nicht abgeschlossen ist. Ich habe über Lock-Keyword gelesen, aber nicht viel Ahnung. Jede Hilfe wird geschätzt.
Im Folgenden sind einige Schritte für mein Code:
Schritt 1: 3rd-Party-Service aufzurufen, dass Artikel zu sehen verfügbar ist oder nicht Schritt 2: Wenn Artikel verfügbar ist, dann kaufen durch den Aufruf, dass 3rd-Party-Service . Schritt 3: Wenn die Datenbank erfolgreich gekauft wurde, aktualisieren Sie die Datenbank mit Flags usw.
möchten Sie ein Beispiel Ihres Codes zur Verfügung stellen? –
Es hört sich so an, als hätten Sie einen grundsätzlichen Konstruktionsfehler. Anfragen sollten sich nicht gegenseitig stören und Sie sollten keine Sperrung vornehmen müssen, um es zu funktionieren. Wenn wir Ihren Code sehen, können wir herausfinden, was falsch ist. – itsme86
Dies ist nicht, wofür 'Sperren' sind. Sie benötigen einen Weg, um einen Artikel vorübergehend aus dem Inventar zu entfernen, während er sich in einem Personenwagen befindet (wenn ich Ihre Frage richtig verstanden habe). Der beste Weg, den ich denken kann, ist, den Warenkorb in der Datenbank zu haben. dann können Sie immer nach den Wagen fragen, um zu sehen, was Ihr potenzieller Vorrat ist. –