Laden...

Kommunikation zwischen Webservice und Console App

Erstellt von inek vor 9 Jahren Letzter Beitrag vor 9 Jahren 3.350 Views
inek Themenstarter:in
182 Beiträge seit 2007
vor 9 Jahren
Kommunikation zwischen Webservice und Console App

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.

T
708 Beiträge seit 2008
vor 9 Jahren

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

inek Themenstarter:in
182 Beiträge seit 2007
vor 9 Jahren

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.

D
615 Beiträge seit 2009
vor 9 Jahren

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 😉 )

inek Themenstarter:in
182 Beiträge seit 2007
vor 9 Jahren

Einen windows dienst würde ich ungerne nutzen. Ziel ist evtl. später das ganze via mono auch Plattformunabhängig laufen zu haben..

F
10.010 Beiträge seit 2004
vor 9 Jahren

mit der befürchtung das ich einfach zu blöde bin muss ich euch mal eine Frage zum Thema Webservice stellen.

  1. Einen von wo anders erreichbaren WebService muss man nicht im IIS oder Apache hosten.

  2. 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.

inek Themenstarter:in
182 Beiträge seit 2007
vor 9 Jahren

Dank dir.
ich werde mir nancy mal ansehen.