Autor |
Nachricht |
martinkuen
Threadersteller
Dabei seit: 21.07.2008
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 29.06.2009 09:45
Titel Verbindung von .NET-Anwendung zu Webserver |
|
|
Hallo,
ich stehe vor dem Problem, dass wir aus einem .NET-Programm im laufenden Betrieb Daten an einen WEbserver übergeben müssen, die dann dort aufbereitet und vernünftig dargestellt werden sollen.
Die Daten liegen innerhalb der .NET Anwendung als mehrdimensionales Array vor. Kennt da jemand einen Weg die (im Idealfall an einen Apache Server) weiterzuleiten oder die von einem Webserver aus abzugreifen?
Vielleicht läßt sich ein Webserver direkt in die .NET Anwendung integrieren?
Hat da jemand Erfahrung mit?
Herzlichen Dank
martinkuen
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 29.06.2009 09:51
Titel
|
|
|
Mach doch n simplen POST Request an den Apachen, für sowas ist er doch gedacht
|
|
|
|
|
Anzeige
|
|
|
martinkuen
Threadersteller
Dabei seit: 21.07.2008
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 29.06.2009 11:58
Titel
|
|
|
Herzlichen Dank schon mal.
Nur habe ich dann das Problem, dass die .NET-Anwendung und der Zugriff über den Browser ja 2 verschiedene Sachen sind.
Man müsste quasi die Daten die aus der .NET-Anwendung kommen zwischenspeichern und die allen Zugriffen über Browser zur Verfügung stellen.
Kann man denn ein Array im flüchtigen Speicher so ablegen, dass der Webserver darauf zugreifen kann und es für alle Clients verfügbar ist?
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 29.06.2009 12:03
Titel
|
|
|
Ein handelsüblicher HTTP-(Web)-Server *kann* gar nicht auf irgendwelche Daten zugreifen, sondern nur auf einen HTTP-Request warten und eine HTTP-Response liefern. Natürlich kann ein Browser einen HTTP-Request abfeuern. Deine .net-Anwendung kann das aber mindestens genau so gut
http://www.codeproject.com/KB/IP/httpwebrequest_response.aspx
Oder halt mal nach Bindungen zu curl oder so suchen ...
Zuletzt bearbeitet von bacon am Mo 29.06.2009 12:03, insgesamt 1-mal bearbeitet
|
|
|
|
|
martinkuen
Threadersteller
Dabei seit: 21.07.2008
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 29.06.2009 12:30
Titel
|
|
|
Ich glaub, ich hab mich vorhin etwas umständlich ausgedrückt. Mein Grundproblem sieht wie folgt aus:
- Ich habe eine .NET Anwendung die im laufenden Betrieb Messdaten sammelt und in einem Array abspeichert.
- Dazu habe ich einen Benutzer, der die aktuellen Daten abrufen will. Dazu sollte der Browser verwendet werden.
Wenn die .NET-Anwendung fertig abgelaufen ist, müssen die Daten nicht mehr verfügbar sein.
Die Schnittstelle zwischen .NET Anwendung und Browser wäre der Webserver.
Es muss also entweder eine Kommunikation zwischen von Browser zu .NET-Anwendung erfolgen, die sinngemäß sagt "hallo hier ist jemand der die aktuellen Daten haben will, schick die mal" oder die .NET-Anwendung muss die Daten regelmäßig an den Server schicken und der sie dann über den Browser jedem der darauf zugreift aufgearbeitet zur Verfügung stellen.
Für letzteres müssten die Daten ja irgendwo zwischengespeichert werden, sodass der Webserver sie (z.b. via PHP) wieder verwenden kann, oder?
Leider haben wir nicht wirklich Platz für eine Datenbank und wollen auch den ständigen Schreibzugriff außerhalb des flüchtigen Speichers vermeiden wenn irgendwie möglich.
Vielleicht verstehe ich auch das mit dem WebRequest falsch. Ich habe das so verstanden, dass die .NET-Anwendung etwas an den Webserver schickt, der mit den Daten (z.b. über PHP) arbeitet indem er sie z.B. in einer Datenbank speichert. Davon bekommt dann aber doch der User der über Browser auf den Webserver zugreift nichts mit oder?
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 29.06.2009 13:59
Titel
|
|
|
Da hast du recht. Du hast aber sowieso keinerlei Möglichkeit, dem Benutzer zu sagen "Hier, schau mal. Es sind neue Daten angekommen, aktualisiere dich mal". Dafür sind Webbrowser (wegen der Beschränkung auf das HTTP-Protokoll) nicht geschaffen, da sie eben immer nach dem Request-Response Schema arbeiten.
Du stehst sozusagen vor 2 Baustellen:
1.) Muss der Webserver nach einer Benutzeranfrage die Daten von der .NET Anwendung anfordern.
2.) Muss der Client (Browser) ständig aktualisiert werden, solange die Verbindung bestehen bleibt.
Also:
1.) .NET <------------ fragt ---------------- Apache <------------ fragt ---------- Browser(Client)
2.) .NET -------------- antwortet ---------> Apache ------------antwortet ---------> Browser(Client)
Das Konzept ist in sofern doof, weil in dem Moment, wo der Apache Webserver selbst zum Client wird, indem er eine Anfrage an die .NET Anwendung stellt, genau diese Anwendung ebenso einen Server implementieren muss.
Gleichzeitig hast du wie gesagt noch den Punkt 2 zu berücksichtigen, nämlich wie halte ich meinen Webbrowser aktuell?
Wenn .NET und Apache auf der gleichen Maschine installiert sind, ist das ganze eventuell bereits mit einem Systemaufruf erledigt. Ansonsten genau wie du es beschreibst, du machst mittels einer wie auch immer gearteten Scriptsprache auf dem Apachen einen Request auf die .NET Anwendung, die auch einen Server implementiert.
Den .NET-"Server" implementierst du mit Bordmitteln, einfach bei Programmstart einen HTTP-Server in einem neuen Thread aufmachen.
Ich halte das ganze aber für Krude. Wäre es nicht einfacher, die .NET direkt als Server zu implementieren? Dann schreibst du ebenfalls in .NET eine Clientsoftware mit einer kleine GUI, die eine persistente Verbindung (am einfachsten via Socket) zur entfernten Server-.NET Anwendung aufhält. Fertig, dann brauchste auch keinen Apachen dazwischen.
Achso, diesen .NET Client könntest du natürlich genausogut in Flash implementieren, dann läuft das Ding auch im Browser. Oder via Java, das kann auch im Browser laufen.
Mir ist noch was eingefallen, womit du dir das Leben einfacher machen kannst. Vielleicht denkst du darüber nach, der .NET Anwendung eine WSDL aufzupappen. Damit hättest du bereits eine Menge standardisiert und würdest verhindern, dass die Kopplung zwischen Selbstzusammengedengeltem Client und .NET-Anwendung zu stark ist.
Zuletzt bearbeitet von bacon am Mo 29.06.2009 14:06, insgesamt 2-mal bearbeitet
|
|
|
|
|
martinkuen
Threadersteller
Dabei seit: 21.07.2008
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 29.06.2009 16:07
Titel
|
|
|
Ganz herzlichen Dank schon mal.
Das Problem an der Sache ist, dass es bisher mit einer Client-Software gelöst wurde, wir nun aber von der Installation auf jedem Arbeitsplatz weg wollen.
Wie es aussieht bleibt doch nur der Weg über eine Datenbank.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Webserver in UK?
TTS auf Webserver, Text->MP3
Grafiken Webserver Thunderbird
index.php - direktaufrurf durch webserver?
Schriftarten vom Webserver verwenden nur mit OS2 möglich?
Bräucht schnell Downloadlink Webserver
|
|