Frage

Ich habe eine ASP.Net-Anwendung, die Bedürfnisse braucht etwas Arbeit von einer anderen Maschine durchgeführt haben. Um dies zu tun mir eine Nachricht in der Warteschlange sichtbar zu beiden Maschinen zu verlassen. Wenn die Arbeit getan ist eine Nachricht auf der zweiten Warteschlange gelassen wird.

Ich brauche die ASP.Net-Anwendung die zweite Warteschlange regelmäßig zu überprüfen, wenn eine der Aufgaben zu sehen ist abgeschlossen.

Wo ist der beste Ort, um aber eine solche Schleife? Global.asax?

Ich erinnere mich, irgendwo zu lesen, dass Sie eine Funktion nach einem Intervall genannt zu bekommen. Wäre das geeignet sein?

War es hilfreich?

Lösung

periodische Aufgaben auf asp.net Um dies zu erreichen, habe ich zwei akzeptable Ansätze gefunden:

  1. Spawn einen Faden während Application_Start bei global.asax, in einer while-Schleife (1) die Arbeit (2) sleep den Faden für ein Intervall.
  2. Wieder in Application_Start, legen Sie ein Dummy-Element in asp.net Cache, läuft in einem bestimmten Intervall und geben, dem Cache-Speicherelement einen Rückruf aufgerufen wird, wenn es abgelaufen ist. In diesem Rückruf können Sie die Arbeit machen und das Cache-Speicherelement wieder auf die gleiche Weise ein.

In beiden Richtungen, müssen Sie sicherstellen, dass Ihr Thread arbeitete hält, auch wenn ein Fehler passiert. Sie können einen Wiederherstellungs platzieren Code in Sessionstart und Beginrequest Thread oder Cache-Speicherelement zu überprüfen ist, und es zu erneuern, wenn etwas mit ihm passiert ist.

Andere Tipps

Ich gehe davon aus, dass dies in regelmäßigen Abständen durchgeführt wird, und dass ein anderer Prozess setzt die Elemente in der Warteschlange?

Wenn das der Fall ist, könnten Sie etwas in Global.asax setzen, dass beim Start der Anwendung einen eigenen Thread erstellt, die einfach in die Warteschlange überwacht, können Sie einen Timer verwenden könnten diesen Thread Schlaf für X Sekunden, dann für die Ergebnisse überprüfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top