Ich habe einen Windows-Dienst geschrieben, von dem ich 1 Instanz pro Kunde ausführen lassen möchte. Dies liegt daran, dass die Kunden jeweils ihre eigene DB mit identischen Schemas haben; Der einzige Unterschied zwischen den Windows-Diensten besteht darin, dass sie jeweils einen anderen Parameter haben, der dem Kunden-DB entspricht, für dessen Zustellung sie bestimmt sind. (Und ich kann keinen Dienst mit mehreren Worker-Threads haben, weil die DB-Verbindung eine statische Variable verwendet, über die ich nicht über Threads hinweg fiedeln kann.)Wie mache ich einen Windows-Dienst mit Parametern?
Ich habe this neat little tutorial darüber gefunden, wie man einen Windows-Dienst macht, aber es zeigt mir nur, wie man es für einen einzelnen Dienst aufstellt. Ich möchte n Instanzen des Dienstes einrichten, jeder mit einem Anzeigenamen, der den Kundenname enthält, der mit dem Befehlszeilenparameter ausgeführt wird, der die Kundenid bezeichnet.
Die verlinkte Tutorial oben hat eine Klasse MyWindowsServiceInstaller
genannt, die den Windows-Dienst auf dem lokalen System installiert, und ich vermute, dass dies ein logischer Ort sein würde, eine foreach
Schleife durch alle meine Kunden einzurichten, einen Dienst einrichten für jede. Aber ich kann nirgendwo auf den bereitgestellten Schnittstellen sehen, dass ich einen Befehlszeilenparameter für den neuen Dienst einrichten konnte.
Wie machst du das?
ich meine Antwort bin zu entfernen, da die Leute ist, dass über diese wissen, dass es mehr als mich. –
@Binary Worrier - Ich wünschte, du hättest deine Antwort nicht entfernt! Da waren einige Ideen drin, die sehr vielversprechend waren ... –
Antwort unletted: Ich habe es als CW markiert, es ist unvollständig, wir haben einen Spickzettel irgendwo mit "How to" Anweisungen, um mehrere Instanzen des gleichen Dienstes zu bekommen, aber Ich kann es nicht finden und habe keine Zeit zu graben, sorry Shaul. –