4

.NET Remoting では、Activator.GetObjectメソッドに状態パラメーターがあります。この状態パラメーターの目的は何ですか? サーバー側からその値を取得できますか?

mdsn はあまり役に立ちませんでした。

私がやりたいこと:
クライアント側:
ChannelServices.RegisterChannel(new TcpChannel(0));
object obj = Activator.GetObject(typeof(MyObj), "tcp://serverName:1234/RemoteObj", "myCustomData");

サーバー側:
「myCustomData」文字列へのアクセスを取得します。

4

1 に答える 1

3

この状態フィールドの目的は完全にはわかりませんが、コードには使用されないチャネル固有の値のようです。Reflector をトレースするActivator.GetObjectと、最終的に に渡されることがわかりますIChannelSender.CreateMessageSink。このデータの使用は実装固有です。

クイック検索では、次の場合に 1 つの実装者のみが明らかになりIChannelSenderましCrossAppDomainChannelた。この特定の実装では、状態パラメータは、特定のタイプの場合にのみ使用されます: CrossAppDomainData. これは、プログラムからアクセスできない内部クラスであるため、役に立ちません。

于 2009-10-27T14:42:23.393 に答える