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-Key: 293877

Url: https://administrator.de/contentid/293877

Printed on: April 26, 2024 at 13:04 o'clock

Member: wiesi200
wiesi200 Jan 22, 2016 at 08:38:05 (UTC)
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.
Member: Schlafwvndler
Schlafwvndler Jan 22, 2016 at 08:44:40 (UTC)
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
Member: SlainteMhath
SlainteMhath Jan 22, 2016 at 09:29:46 (UTC)
Goto Top
Moin,

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

lg,
Slainte
Member: maretz
maretz Jan 22, 2016 at 13:36:50 (UTC)
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.
Mitglied: 122990
122990 Jan 22, 2016 updated at 13:45:43 (UTC)
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
Member: emeriks
emeriks Jan 24, 2016 updated at 16:28:43 (UTC)
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.