Wie und warum ich einen Windows-Dienst (Virtual Office Assistant) erstellt habe

Über mich

Ich bin Entwickler in einer Firma und habe einen BS-Abschluss in Informatik. (Genug von mir, kommen wir zum Thema) Als ich in den letzten Tagen meiner akademischen Laufbahn .Net-Entwicklung lernte, lernte ich den „Windows-Dienst“ kennen. Das Schöne am Windows-Dienst ist “Sie sind hinter den Kulissen (Hintergrundprozess), machen aber eine Menge praktischer Dinge“.

Das Problem, das ich lösen wollte

Motivation entstand, als ich darüber nachdachte, wie ich einen virtuellen Assistenten in meinem Büro haben könnte 😃 der kleine Dinge tun kann, einige DLLs kopieren, einfügen, einige Jobs planen, einige Server starten usw. … da ich zu gut darin bin, Dinge im letzten Moment zu vergessen 😦

Was ist ein Windows-Dienst (Virtual Office Assistant)?

Dann habe ich den Windows-Dienst gebaut, der wirklich Aufgaben als virtueller Assistent erfüllen kann. Das Wichtigste, was ich brauchte, war “Ein wachsender virtueller Assistent”, der sich von Zeit zu Zeit weiterentwickeln kann.

Tech-Stack

Die Auswahl eines Tech-Stacks war damals für mich nicht so schwierig, da ich ihn nur für das Büro brauchte, wo alle Systeme Windows-Betriebssysteme haben. Daher habe ich mich für die Entwicklung mit C#.Net entschieden.

Der Prozess zum Erstellen eines Windows-Dienstes (Virtual Office-Assistent)

Als erstes musste über das Senden von Befehlen aus der Ferne nachgedacht werden. Anfangs dachte ich, ich hätte ein eigenes Protokoll für die Kommunikation, aber dann wurde mir klar, dass ich das Rad nicht neu erfinden wollte; Und ich suchte nach einem Protokoll mit einem breiteren Anwendungsbereich. Endlich entschieden, ein Windows-Dienst, der jeden Batch-Befehl verarbeiten und alle Aufgaben eines virtuellen Assistenten erfüllen kann.

Herausforderungen, denen ich mich gestellt habe

In seinen anfänglichen Anforderungen hat es keine Herausforderungen. Die Idee war, die Commands.txt-Datei zu behalten, die online von einem Laufwerk synchronisiert wird. Der Windows-Dienst liest die Befehle, führt die Befehle aus und schreibt die Befehlsausgabe in die Datei Output.txt.

Die Herausforderung bestand darin, den Windows-Dienst selbst zu verbessern. Mit Selbstverbesserung meine ich, dass der Dienst seine eigenen Codeänderungen herunterlädt, sich selbst erstellt und sich selbst mit neuen Änderungen bereitstellt … (Wooooohhhhh … Wie???)

Hier hat mir Batch-Scripting geholfen, der Windows-Dienst führt nach einem festen Intervall ein Batch-Skript aus, das den Dienst mit neuen Codeänderungen herunterlädt, erstellt und startet.

Schlüsselqualifikationen

Ich habe gelernt, dass es als Entwickler nie ein Problem ohne Lösung geben kann. Die Schwierigkeit besteht darin, mit weniger Aufwand eine optimierte zu finden…
Ich hätte eine große Software für dieses Problem bauen können, aber ich habe mein Ziel mit nur 150 Codezeilen erreicht 😃

Tipps und Ratschläge

Erfinden Sie das Rad nicht neu.
Halten Sie die Dinge so einfach wie möglich.

Abschließende Gedanken und nächste Schritte

Die Gedanken sind noch nicht endgültig, aber es wird über einen ereignisgesteuerten Mechanismus nachgedacht, um Befehle auszuführen und den Dienst zu aktualisieren. Im Moment gibt es Timer, nach denen der Dienst die Befehle wie Polling liest (also eher ereignisgesteuert als Polling).

Similar Posts

Leave a Reply

Your email address will not be published.