Question

Dans .NET Remoting, la méthode Activator.GetObject a un paramètre state . Quel est le but de ce paramètre state ? Puis-je récupérer sa valeur côté serveur?

mdsn n'a pas beaucoup aidé.

Ce que j'aimerais faire:
Côté client:
ChannelServices.RegisterChannel (new TcpChannel (0));
objet obj = Activator.GetObject (typeof (MyObj), "tcp: // nom_serveur: 1234 / RemoteObj", "myCustomData");

Côté serveur:
Accédez à l’enregistrement " myCustomData " chaîne.

Était-ce utile?

La solution

Je ne suis pas tout à fait sûr du but de ce champ d'état, mais il semble que ce soit une valeur spécifique à un canal qui ne soit pas utile à votre code. En traçant via Activator.GetObject dans Reflector, vous remarquerez qu'il est finalement transmis à IChannelSender.CreateMessageSink . L'utilisation de ces données est spécifique à la mise en œuvre.

Une recherche rapide n'a révélé qu'un seul implémenteur si IChannelSender : CrossAppDomainChannel . Dans cette implémentation particulière, le paramètre state n'est utilisé que s'il est d'un type particulier: CrossAppDomainData . C'est une classe interne qui n'est pas accessible à votre programme et qui ne sert donc à rien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top