Frage

In .NET Remoting, Activator.GetObject Methode hat einen Zustand Parameter. Was ist der Zweck dieser Zustand param? Kann ich seinen Wert von Server-Seite abgerufen werden?

MDSN half nicht viel.

Was würde ich tun:
Client-Seite:
ChannelServices.RegisterChannel(new TcpChannel(0));
object obj = Activator.GetObject(typeof(MyObj), "tcp://serverName:1234/RemoteObj", "myCustomData");

Server-Seite:
Erhalten Sie Zugang zum "myCustomData" string.

War es hilfreich?

Lösung

Ich bin mir nicht ganz sicher, was der Zweck dieses Statusfeldes ist, aber es scheint ein Kanal bestimmte Wert zu sein, die nicht von Nutzen Ihres Code. In Verfolgung durch Activator.GetObject in Reflector werden Sie feststellen, dass es schließlich IChannelSender.CreateMessageSink geben wird. Die Verwendung dieser Daten ist die Umsetzung spezifisch.

IChannelSender:

Eine schnelle Suche nur ein Implementierer wenn CrossAppDomainChannel enthüllt. In dieser speziellen Ausführung wird der Zustandsparameter nur verwendet, wenn es von einem bestimmten Typ ist: CrossAppDomainData. Dies ist eine interne Klasse, die nicht zugänglich zu Ihrem Programm ist und daher nicht von Nutzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top