Windows IOT Webserver

  • Hallo zusammen,

    ich bin gerade dabei eine C# Anwendung zu schreiben, mit der ich Maschinendaten aufnehmen möchte.
    Diese gesammelten Daten möchte ich gerne speichern und im Intranet als Webinterface anzeigen lassen.

    Soweit so gut. Das C# funktioniert auch und das Webinterface auch. In dem C# Programm hab ich einen Webserver einprogrammmiert, der auf ein Request von einem Clienten wartet und dann die index.html schickt. Die Homepage wird dann auch im Intranet angezeigt. Jedoch werden die CSS Dateien und JS Programme nicht mitgeschickt. Wie bekomme ich das hin, dass die Homepage komplett angezeigt wird? Unter Raspbian ging das mit Apache ja sehr einfach. Gibt es unter Windows IOT auch eine Lösung?

    Vielen Dank!

  • Hallo,

    du musst halt eine Server haben, der (auch) statische Dateien ausliefern kann. Deine index.html wird ja serverseitig dynamisch generiert. Das geht üblicherweise auch, dass "wie" hängt aber von der Art der Implementierung ab.

    Hast du den Webserver in C# komplett selber implementiert oder hast du eine fertige Bibliothek genommen?

    Gruß, noisefloor

  • Hallo noisefloor,

    danke schon mal für deine Antwort.
    Also ich hab einem meinem Programm eine Klasse WebServer.cs erstellt und quasi den Quellcode (https://www.linkedin.com/pulse/creating…-10-rob-walters) kopiert.
    Der nimmt ja die index.html und liest die in einen Stream und verschickt diese, wenn ich das richtig verstehe.

    Gibt es denn für Windows IOT einen Server für statische Daten oder kann ich sowas auch in C# implementieren?
    An sich muss ich ja nur meine "Webinterface Ordner" an den Clienten senden. ;) Gibt es dafür ne relativ unkomplizierte Möglichkeit?

    Einmal editiert, zuletzt von ollifred (24. Februar 2017 um 11:47)

  • Hallo,

    Zitat

    Gibt es dafür ne relativ unkomplizierte Möglichkeit?


    Keine Ahnung - ich programmiere nicht in C# :) (In Python ist das simpel - aber das ist ja nicht die Frage ;) )

    Da das Senden von CSS und JS-Dateien aber nichts exotisches ist, sollte das gehen. Von Prinzip her müsste das so ablaufen, dass du nicht einfach bei einem Request nur die "index.html" sendest, sondern den Request parst, um festzustellen, ob dieser ein "allgemeiner ist" oder ein bestimmte Datei (wie z.B. ein Stylesheet) anfordert. Wenn ja lieferst du es halt statt der "index.html" aus.

    Dafür gibt es aber ziemlich sicher fertige Bibliotheken für C#, da müsstest du mal eine Suchmaschine deiner Wahl bemühen.

    Gruß, noisefloor

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!