HI zusammen,
mit der befürchtung das ich einfach zu blöde bin muss ich euch mal eine Frage zum Thema Webservice stellen.
Aktuell beschäftige ich mich das erste mal damit (gezwungenermaßen):
Icvh habe eine consolenapplikation in c# erstellt. Diese soll ständig laufen und über RS232 Pinnzustände einer angeschlossenen Platine erfragen.
An sich alles ok und auch machbar für mich..
Jetzt möchte ich aber die möglichkeit haben ein Webinterface zu integrieren. A
Vorgestellt habe ich mir einen Webservice der irgendwo auf meiner Maschiene gehostet wird (vorzugsweise auf einem Apache)
An sich auch kein Problem.. wobei ich das bisher nur auf nem IIS laufen habe. Allerdings steh ich ein wenig auf dem Schlauch was die verbindung zwischen Webservice und meiner consolenapp angeht.
Ziel ist also ein Webservice der zb. die Methode GetValue() bereit stellt. die Methode müsste dann allerdings eine Methode in der consolenapp aufrufen und den Returnwert nach aussen weiterleiten.
Hallo inek,
wo genau vermutest Du denn ein Problem?
Du kannst mit Bordmitteln (Webverweis hinzufügen) einen Webservice abonnieren, unabhängig ob es sich um eine Forms, WPF oder eben Konsolen-Anwendung handelt.
Wenn Dein Apache oder IIS steht, kannst Du aus der wsdl alle notwendigen Klassen in C# erzeugen lassen. Entweder manuell oder eben per "Webverweis hinzufügen" per Rechtsklick auf dem Projekt.
Diese Klasse wird dann Deine Funktion "GetValue" beinhalten und du kannst sie ansprechen. Den Rest erledigt dann das Framework für Dich (Bis auf das Abfangen von Fehlern).
Gruß,
trib
Hi trib,
den webservice consumieren sollte nicht das problem sein..
mir geht es eher darum das der webverweis meine consolen app nutz.. also wenn irgend ein konsument meinen webservice nutz und GetValue() aufruft.. soll der webservice die zu übermittelnden Daten von meiner consolenapp erfragen.. da diese ja erst die Daten via RS232 von der Platine abfragen muss.
oll der webservice die zu übermittelnden Daten von meiner consolenapp erfragen.. da diese ja erst die Daten via RS232 von der Platine abfragen muss.
Hallo inek
Entweder du schreibst die Daten regelmässig in eine DB und der WebService gibt die Daten der DB zurück. Wenn du das àlà "on demand" haben möchtest, würde ich ein Windows Service schreiben, über Interprozesskommunikation kannst du dann vom WebService aus mit deinem Windows Service kommunizieren, welcher die Daten via RS232 "on demand" abfragt.
Beste Grüsse
Diräkt
Edit:
=> Oder direkt vom WebService Dein RS232 Port abfragen (wenn das Teil am Server hängt 😉 )
Einen windows dienst würde ich ungerne nutzen. Ziel ist evtl. später das ganze via mono auch Plattformunabhängig laufen zu haben..
mit der befürchtung das ich einfach zu blöde bin muss ich euch mal eine Frage zum Thema Webservice stellen.
Einen von wo anders erreichbaren WebService muss man nicht im IIS oder Apache hosten.
NancyFX, WCF oder WebApi lassen sich auch in deiner Konsole hosten.
Ich persönlich würde das per nancy machen, weil NancyFx auch problemlos ( in grenzen ) unter Mono läuft.