[C#] Instanzübergreifende Variablen?

Passer

Erfahrenes Mitglied
Tagchen zusammen,

neulich kam mir die Idee, dass es doch praktisch sei, verschiedene Instanzen einer Software über Instanzübergreifende Variablen kommunizieren zu lassen (wenns gehen würde, wäre es imho der einfachste Weg, damit Instanz A mit Instanz B kommunizierne kann).


Nur leider leider scheint dies ja wohl nicht zu gehen, oder hat da irgendjemand eine Idee?

MfG
Christoph
 
Hi,

Ich versteh nicht ganz, was du vorhast.
Willst du deine Software 2 mal starten und diese beiden mit einnander kommunizieren lassen?
Wenn ja:
Schau dir mal Sockets an.
 
Ja, genau das will ich, dass das mit Sockets geht weiss ich, ich suche aber einen einfacheren Weg.

Denn mit Sockest gäbe es diverse Probleme, die ich nicht hätte, wenn es beispeilsweise einen gemeisnamen Speicher gäbe, wo Prozess1 Informationen ablegt, die sich Prozess 2 dann abholen kann.

Dachte zunächst dass man das evt über statische Variablen machen kann, aber leider Pustekuchen ;)
 
Zuletzt bearbeitet:
Hallo Passer,
ein einfacher Weg wäre vielleicht, du legst eine XML Datei an, in der beide Instanzen ihre Variablen rein schreiben und beide Instanzen über wachen die Datei ob sich was geändert hat, wenn ja Änderungen aus lesen.
Ok, vielleicht nich schön, aber es geht!!
Bis Dann
Markus
 
Wird die gleiche Anwendung zweimal gestartet, dann laufen zwei unterschiedliche Prozesse, die jeweils eine Application-Domain zugewiesen haben. Die Anwendungen laufen jeweils in einer Application-Domain. Statische Member sind innerhalb der Application-Domain gültig, nicht ausserhalb.

Datenaustausch via einem File bedeutet, sich Probleme einzufangen: Wie sieht es denn aus, wenn beide Anwendungen zeitgleich in die Datei schreiben wollen? Da kracht es, dass sich die Balken biegen. Davon ist also abzuraten.

Die einfachste und schnellste Variante ist daher wohl über einen Socket zu gehen. Ein wenig Weiterbildung schadet nicht. Schließlich sollte man sich mit dem Werkzeug Programmiersprache auch ein wenig auseinandersetzen.
 
Hallo Leute,
Ja, genau das will ich, dass das mit Sockets geht weiss ich, ich suche aber einen einfacheren Weg.
Deshalb meine Idee, den Datenaustausch über eine Datei!!
Wie sieht es denn aus, wenn beide Anwendungen zeitgleich in die Datei schreiben wollen?
Und bin ich von ausgegengen, das das vorher abgefragt wird, ob die Datei frei ist. Das war für mich eine selbst verstänlichkeit, die doch wohl nicht erwänen muß, oder!!

Bis dann
Markus
 
Und ich sag es nochmal, diesmal ein wenig deutlicher: Datenaustausch über eine Datei ist SCHWACHSINN. Ich hab schon genug solcher Anwendungen gesehen und logischerweise hat es immer gekracht. Unabhängig davon, Abfragen durchzuführen, die nur Zeit + Performance kosten.
 
Abgesehen, davon, dass es mehr als langsam ist:
Was passiert, wenn eine der beiden Anwendungen schreibt?
Die andere muss warten. = Stillstand

Was passiert, wenn die eine Anwendung beim Schreiben hängt und die Datei nicht wieder frei gibt?
Die zweite Anwendung bleibt ebenfall hängen. Folge, du hast 2 Anwendungen, die stehen. Am besten in einem DeadLock
 
Zurück