Laden...

Aufbau einer Anwendung, Tipps für einen ASP.Net Neuling

Erstellt von Phatdaro vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.603 Views
Phatdaro Themenstarter:in
17 Beiträge seit 2010
vor 11 Jahren
Aufbau einer Anwendung, Tipps für einen ASP.Net Neuling

Hallo zusammen.

Ich habe eine C#-Konsolen-Anwendung, die bisher auf einem Raspberry Pi (Mono-Framework) läuft.

Nun hatte ich die tolle Idee, dass ich ja eine Web-Oberfläche für die Anwendung schreiben könnte um das bestehende Programm über das Web bedienbar zumachen.

Mein Problem ist, dass ich nicht wirklich eine Idee habe ob ich das nun alles in einer Anwendung machen kann oder nicht und hoffe ihr könnt mir vielleicht ein paar Tipps und Stichwörter geben mit denen ich das Problem angehen kann.

Meine Ideen die ich umsetzten möchte sind folgende:

  • Über die Website möchte ich die Anwendung starten und stoppen können
  • Die bestehende Anwendung gibt kontinuierlich Rückmeldung, diese würde ich gerne auf der Website in einer Textbox anzeigen.
  • Die bestehende Anwendung soll, auch wenn die Website durch den Browser(Benutzer) geschlossen wird weiterlaufen, öffnet der Benutzer die Website wieder soll er die aktuellen Stand sehen

Eigentlich nicht viel^^

Meine etwa genaueren Fragen:

  • Kann ich das prinzipiell in einer WebAnwendung hinbekommen?
  • Wie schaffe ich es, dass die Anwendung weiterlaufen kann?

Grüße
Phatdaro

D
615 Beiträge seit 2009
vor 11 Jahren

Hallo Phatdaro

Du kannst deine BL Methoden über ein Web-Service "freigeben".
Somit können Web+Console Anwendung die Selbe Logik teilen. ( Wartung etc... )

  • Über die Website möchte ich die Anwendung starten und stoppen können

Hat jeder User eine Instanz der Anwendung ?! Wenn ja sollte die Architektur überarbeitet werden 😃
Grundsätzlich ist das Starten und Stoppen kein Problem, sinnvoll wäre dann z.B. ein Windows Service..

Die bestehende Anwendung gibt kontinuierlich Rückmeldung, diese würde ich gerne auf der Website in einer Textbox anzeigen.

Die Daten kannst du in eine DB speichern. Und für die WebSite liest einfach wieder aus und stellt wie gewünscht dar...

Die bestehende Anwendung soll, auch wenn die Website durch den Browser(Benutzer) geschlossen wird weiterlaufen, öffnet der Benutzer die Website wieder soll er die aktuellen Stand sehen

Siehe Windows-Dienst...

  • Kann ich das prinzipiell in einer WebAnwendung hinbekommen?

Es gibt eigentlich fast keine Grenzen, was man mit WebAnwendungen hinbekommt, also ja.

Beste Grüsse

Diräkt

Phatdaro Themenstarter:in
17 Beiträge seit 2010
vor 11 Jahren

Du kannst deine BL Methoden über ein Web-Service "freigeben".
Somit können Web+Console Anwendung die Selbe Logik teilen. ( Wartung etc... )

Könntest du das villeicht etwas genauer ausführen?

  • Über die Website möchte ich die Anwendung starten und stoppen können
    Hat jeder User eine Instanz der Anwendung ?! Wenn ja sollte die Architektur überarbeitet werden 😃
    Grundsätzlich ist das Starten und Stoppen kein Problem, sinnvoll wäre dann z.B. ein Windows Service..

Es soll nur eine Instanz der Anwendung geben, aber alle Nutzer sollen die aktuellen Rückmeldungen sehen können

Die bestehende Anwendung gibt kontinuierlich Rückmeldung, diese würde ich gerne auf der Website in einer Textbox anzeigen.

Die Daten kannst du in eine DB speichern. Und für die WebSite liest einfach wieder aus und stellt wie gewünscht dar...

Das hatte ich mir auch schon als "Notlösung" überlegt, wenn die beiden Anwendungsteile (Service + Web) sonst nicht miteinander kommunizieren könnten. Da die Hardware auf der das Ganze läuft/laufen soll etwas schwachbrüstig ist wollte ich eine DB wenn möglich umgehen.

C
2.122 Beiträge seit 2010
vor 11 Jahren

Für nur die aktuellen Daten (ohne das was vorher alles war) brauchst du keine DB. Diese Daten kennt die Anwendung. Oder sie hält sich den Verlauf der letzten x Sekunden, das hängt natürlich von deinen Daten ab.

Eine wirklich kontinuierliche Anzeige im Sinne von sehr geringer Zeitdifferenz wirst du nicht hinkriegen. Je nach deinem Vorhaben und Art der Daten reicht wahrscheinlich ein nachladen der Daten alle paar Sekunden. Mit Mechanismen wie AJAX oder was auch immer es in ASP.NET gibt, dürfte das kein Problem sein.
Wichtig wäre dass nicht die komplette Seite neu geladen wird, sondern nur der relevante Teil. Sonst kommst du vor lauter Bildschirmflackern nicht mehr zum Ansehen der Daten.

D
615 Beiträge seit 2009
vor 11 Jahren

Zitat von Diräkt:
Du kannst deine BL Methoden über ein Web-Service "freigeben".
Somit können Web+Console Anwendung die Selbe Logik teilen. ( Wartung etc... )

Könntest du das villeicht etwas genauer ausführen?

Du wirst ja eine BL haben. Um keinen Code zweimal zu schreiben ( never repeat your self ), kannst du ein WebService erstellen (WCF) und die relevanten BL Methoden zur Verfügung stellen :


public List<T> GetData()
{
var bl = new Bl();
return bl.GetData();
}

Das hatte ich mir auch schon als "Notlösung" überlegt, wenn die beiden Anwendungsteile (Service + Web) sonst nicht miteinander kommunizieren könnten. Da die Hardware auf der das Ganze läuft/laufen soll etwas schwachbrüstig ist wollte ich eine DB wenn möglich umgehen.

Wenn du die alten Daten (Hisotry) nicht brauchst, sondern nur das Aktuelle, ist eine DB der falsche Ansatz, richtig.

Du kannst von deinem WebService oder von der Web-Applikation oder von beidem aus, auch auf dein Windows Dienst zugreifen, damit sollte dein Vorhaben gut umsetzbar sein.

Stichwörter dafür wären z.B. :
.Net Remoting
Service Controller

Beste Grüsse

Diräkt