Speicher reservieren damit verschiede Programme diesen Bereich nutzen können
-
Das geht eher nicht. (Also ohne eine native API. Falls es das ist, was du mit Systemvariablen meintest.) Und falls du mehrere Programme hast die kommunizieren sollen, würde ich einfach Sockets empfehlen. Ich weiß ja nicht 100%ig was du machen willst, aber wenn du diese Frage stellst wird es wohl kein Super-High-Performance-Code sein, und da sind Sockets einfach und (relativ) schnell.
-
Machbar ist das, ja. Aber du erfindest gerade das Rad neu, noch dazu mit vielen Ecken, wo es doch schon lange unkaputtbare Leichtlaufallwetterlotuseffektleichtmetallräder der Standard sind. Fängst du zum Beispiel mal hier an zu lesen:
http://en.wikipedia.org/wiki/Inter-process_communication
-
Ansonsten macht man das über Dateien auf der Festplatte oder mit IPC im RAM. Ist etwas Mühe erforderlich!
-
BTW:
http://www.boost.org/doc/libs/1_53_0/doc/html/interprocess.html
http://www.boost.org/doc/libs/1_53_0/doc/html/interprocess/sharedmemorybetweenprocesses.html
-
RPC,IPC und Dateien hatte ich auch schon erwogen.
Der Einfachheit halber werd ich dann wohl mit WCF arbeiten.Danke
-
unter windows kann man in DLLs shared memory anlegen, jeder prozess der diese DLL laedt, hat diesen teil vom speicher mit allen anderen prozessen die diese DLL luden gemeinsam. google nach:
dll shared data segment
-
adonis schrieb:
Der Einfachheit halber werd ich dann wohl mit WCF arbeiten.
Ich weiss nicht was an WCF jetzt besonders einfach sein soll.
Einfach wäre .NET Remoting.
-
Ich hab jetzt mal einen kleinen Testgeschrieben mit .net remote ipc's.
Funktioniert ganz gut. Jetzt wollte ich Events mit ins Spiel bringen.Hier scheint es dann aber zu Sicherheitsverletzungen zu kommen.
Der Typ System.DelegateSerializationHolder und die davon abgeleiteten Typen (z.B. System.DelegateSerializationHolder) dürfen in dieser Sicherheitsebene nicht deserialisiert werden.
Ich habe es mit cklickonce-Sicherheitseinstellungen auf
Voll vertrauenwürdig gestellt. Selber Fehler.[SecurityPermission(SecurityAction.Demand)] geht auch nicht
muss ich mit Zertifikaten arbeiten?
-
Keine Ahnung, mit Remoting + Delegates hab' noch nie was gemacht.
Hab' bisher nur einfach Interfaces (ohne Events/Delegates) über Remoting rumgereicht (was gut funktioniert hat und vor allem einfach umzusetzen war).
-
Habe den Event statisch gemacht, funktioniert aber leider nur beim Server.
Aber egal danke. Für das Problem hab ich in der c# Ecke nen thread auf gemacht.Zur not muss ich es mal im MSDN-Forum Probieren