| 

.NET C# Java Javascript Exception

3
Ich würde in meiner Anwendung gerne einen (ich nenn es mal so) "Maintenance-Modus" ausstatten. Es soll sich so ähnlich verhalten wie man es z.B. von Telnet gewohnt ist:

Nach dem start öffnet sich ein Fenster (ähnlich der Windows-Console). Man wird nach einem Login/Passwort gefragt. War das erfolgreich, dann hat man die Möglichkeit bestimmte Befehle abzusetzen (z.B. "SHOW UPTIME" oder "DELETE USER <benutzername>").

Frage: Gibt es dafür ein Framework, was man impelemntieren kann? Wie würde so was genannt werden, damit ich via google was passenden finden kann.
News:
25.11.2013
MyKey0815 1,6k 2 9
2 Antworten
2
Ich würde das mit Commandozeilen Parametern machen:
meineapp.exe /ShowUpTime
meineapp.exe /DeleteUser jaksa
...
Bei kritischen Befehlen kannst Du nach einen Passwort fragen, beachte aber: Security through Obscurity funktioniert nicht. Du musst Dir ein Passwortkonzept überlegen, von einem pauschalem Maintenance Passwort (oder auf neudeutsch: Backdoor) würde ich Dir dringend abraten.

Wenn Du es Nummer größer machen möchtest, würde ich Dir empfehlen eine Scriptable Application zu machen und eine Konsole bereitstellen. Google mal nach ".net scriptable application"
26.11.2013
Jaksa 4,0k 2 8
1
Um noch einen Ansatz beizusteuern, der aufwandsmäßig zwischen den beiden von Jaksa vorgeschlagenen Möglichkeiten liegt:

Interpretiere all Deine gewünschten Befehle als Commands, die Du über ein beliebiges "Gleis" von Deiner "Scripting-Shell" in deine Applikation transportierst. Dort implementierst Du CommandHandler für die benötigten Commands. Wenn Du auch Responses liefern möchtest, würde ich als Reaktion auf die Commands eigens definierte Events auf demselben "Gleis" kommunizieren - also keine Commands mit Rückgabewert (synchron), sondern eher Request/Response (Bauchgefühl). Jegliche Art von Messaging-Infrastructure ist hierfür geeignet, schau Dir mal ZeroMq, Self-Hosted WebAPI oder ServiceStack an - Hauptsache kein schwergewichtiges WCF. Auch einfachere Möglichkeiten wie z.B. XDMessaging sind eine Option. Wie Jaksa schon bemerkt hat: kommt drauf an, wie groß Du die Nummer machen möchtest.

Insgesamt sehe ich das als einfachere Vorstufe zum Scripting, wie S# oder Ähnliches, aber etwas aufwändiger als CommandLine Parameter.
26.11.2013
ffordermaier 8,4k 3 9
Danke für die Erklärung. Ich werd mal schauen, was ich da am Besten nutzen kann
MyKey0815 27.11.2013

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH