Re: .NET Remoting - ich bin doch nicht blöd ?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hallo Sebastian!

Ich möchte eine Klasse erstellen die systemweit nur einmal erzeugt
werden kann,

Du meinst vermutlich eine Instanz der Klasse.

dazu wurde mir hier Remoting nahe gelegt, scheinbar der einzige Weg
dies in .NET zu realisieren(ohne Worte).

In modernen Betriebsystem existiert jeder Prozess (Gott sei Dank) in einem
eigenen Speicherbereich. Folglich kann man nicht einfach so Speicher so
sharen. Das hängt nicht von der Sprache ab.

In welcher Sprache / Umgebung hast Du denn bisher gecoded? Dieses Verhalten
wird vom OS bestimmt. Es ist also immer eine Form vom IPC notwendig um eine
maschinenweite Instanz zu realisieren. Nur über Sprachen, welche einen
direkten Einfluss auf die Erstellung des PE-Files (den Link-Vorgang) haben
(z.B. C / C++) kann man so was ggf. über Shared - Segments realisieren.

Die Beispiele dazu in der
Dokumenation verwirren mich schwer, ich soll einen einen TCP-Channel
einrichten und einen (hoffentlich auch freien) Port belegen dabei
will ich mit dem Netzwerk nichts zu tun haben.

Du musst keine TCP-Channel verwenden. Es gibt auch andere (in Deinem Fall am
besten den IPC - Channel (ab .NET >= 2.0)).

Ich will nur ein Objekt das Anwendungsdomänenübergreifend systemweit
jedem der will auf dem Rechner lokal zur Verfügung steht. Dazu
scheint der Ersteller des Objektes meiner Klasse zu bestimmen ob
Singleton oder Singlecall verfahren wird, wobei er also meine Logik
durchbrechen kann und einfach mehrere Objekte erstellt.

Das Objekt muss ja nicht öffentlich sein:

1. Definiere ein öffentliches Interface welches alle Members Deines
Singleton Objektes beinhaltet.
2. Implementiere das Interface in einer privaten Klasse
3. Erstelle eine Factory-Methode, welche die Singleton Instanz in Form des
Interfaces zurückgibt. Dazu solltest Du den IPCChannel verwenden.

Ist das Remoting das Problem oder bin ich das Problem weil ich etwas
nicht verstanden habe?

Neben Remoting dürfte auch WCF eine gute Wahl sein (ab .NET 3.0).


OK?
mfg GP


.



Relevant Pages

  • Re: Singleton und Sessions
    ... >> Ich möchte gerne für jede Session eine eigene Instanz meiner Singleton ... >> Klasse erstellen. ...
    (microsoft.public.de.german.entwickler.dotnet.asp)
  • Re: Jobangebote?
    ... >> Naja generell ist ein Objekt immer eine Instanz einer Klasse, ... >> einer anonymen Klasse füllt, bin mir nicht so ganz sicher ob man dann sagen ... >> kann dass wir das Interface instanziiert haben;) ... aber streng genommen haben wir haben ja danach eine Instanz der ...
    (de.comp.lang.java)
  • Re: wozu ist das singleton pattern gut?
    ... Instanz hat und einen globalen Zugriffspunkt ... Klasse, die nur rein statisch genutzt werden kann/soll? ... Singletons sind sehr ähnlich zu globalen Variablen ... Singleton should be considered only if all three of ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Factory und Interface zusammenpacken?
    ... Bisher habe ich es so gemacht dass ich ein Interface habe, ... weitere Klasse, eine Factory-Method-Klasse, über die ich jetzt eine der ... Dein Problem ist, dass du eine einheitliche Struktur brauchst, um die Singleton Instanzen zu erzeugen, wenn ich das richtig verstanden habe, oder? ... class DBConfig implements Config, Singleton ...
    (de.comp.objekt)
  • Re: Von Delphi nach C#
    ... Jedes Interface hat eine eigene VMT in der ClassInfo der Klasse, und einen Eintrag (verstecktes Feld) in jeder Instanz. ...
    (de.comp.lang.delphi.misc)