schlafwvndler
Goto Top

C-Sharp Anwendung von außen ansprechen

Hallo Ich habe mir eine kleine C# Anwendung gebastelt und suche jetzt nach einer Möglichkeit um sie von außen anzusprechen.

Die Anwendung wird auf mehreren Computern ausgeführt.

Meine Frage :

Ist es möglich in der Anwendung irgendwie eine Methode zu haben die alle 20 Minuten eine XML checkt oder so ob es neue Einträge gibt und diese dann in einer MessageBox oder so ausführt ?

Oder gibt es vielleicht ein andere Lösung ?

Falls noch mehr infos nötig sind einfach bescheid sagen face-smile

Content-ID: 293877

Url: https://administrator.de/forum/c-sharp-anwendung-von-aussen-ansprechen-293877.html

Ausgedruckt am: 23.12.2024 um 15:12 Uhr

wiesi200
wiesi200 22.01.2016 um 09:38:05 Uhr
Goto Top
Hallo,

ja das ist möglich. Dafür gibt's nen Timer.

Andere Lösungen gibt es vermutlich schon. Dafür musstest du aber erst mal erklären das du genau bezwecken willst.
Schlafwvndler
Schlafwvndler 22.01.2016 um 09:44:40 Uhr
Goto Top
Ich möchte dem User falls Server nicht erreichbar sind oder bestimmte Remotedienste nicht funktionieren schnell mit teilen. Oder mal angenommen es ist Weihnachten und es soll ein Gruß an alle rausgehen
SlainteMhath
SlainteMhath 22.01.2016 um 10:29:46 Uhr
Goto Top
Moin,

wie schon angesprochen einfach per Timer auf Existenz des text/xml Files prüfen und wenn vorhanden anzeigen.

lg,
Slainte
maretz
maretz 22.01.2016 um 14:36:50 Uhr
Goto Top
Kannst du sicher über eine Textfile machen - is dann halt ... ungünstig. Was passiert wenn deine Anwendung in dem Moment drauf zugreifen will wo die Datei grade ersetzt wird? Was passiert wenn die Datei irgendwelche Fehler enthält, jemand da z.B. Binär-Müll reinpackt o.ä.

Wenn du es sauber machen möchtest nimmst du deine Anwendung und baust dir da halt eben ne Schnittstelle (REST o.ä.) ein. Da kannst du dir dann entsprechende Prüfungen einbauen das eben die Anwendung keinen Müll macht und/oder die Nachrichten auch überprüft werden (z.B. kleines Passwort mitgeben). Dies erspart dir viel Ärger und ist - je nach Kenntnisstand und Möglichkeiten - nicht viel mehr aufwand als ein File-IO.
122990
122990 22.01.2016 aktualisiert um 14:45:43 Uhr
Goto Top
Moin,
ein TCP-Socket Listener ist im Handumdrehen in deine Anwendung implementiert, dann kannst du per simplem TCP-Port Befehle übers Netzwerk an deine Anwendung schicken, welche diese dann ausführt.
Client-/Server-Komponente über TCP-Sockets
Oder du implementierst wie @maretz schon darauf hinweist, einen kleinen Webservice mit dem du deine Anwendung benachrichtigst.
https://msdn.microsoft.com/de-de/library/bb979325.aspx

Gruß grexit
emeriks
emeriks 24.01.2016 aktualisiert um 17:28:43 Uhr
Goto Top
Hi,
ich denke, wir sollten die Kirche im Dorf lassen. Die Frage hört sich stark nach Anfänger an und da wäre Netzwerkkommunikation doch ein kleines Bisschen zu weit nach oben gegriffen ...

Das mit der Datei ist für einen Anfänger schon eher beherrschbar. Entweder Du machst es über einen Timer. Und prüfst jedes Mal, wenn Elapsed ausgelöst wird, die Existenz der Datei und wenn vorhanden dann soll was damit gemacht werden und anschließen die Datei gelöscht oder verschoben oder umbenannt werden.
https://msdn.microsoft.com/de-de/library/system.timers.timer%28v=vs.110% ...

Oder Du schaust dir mal die Komponente FileSystemWatcher an:
https://msdn.microsoft.com/de-de/library/system.io.filesystemwatcher%28v ...
http://blog.bigbasti.com/c-das-dateisystem-mit-dem-filesystemwatcher-ub ...
Hierbei könnte man die Datei sogar nach dem Bearbeiten so stehen lassen und nur reagieren, wenn diese verändert wurde.

E.