0

.NETリモーティングについて私が得ていないことがあります。ええと、実際には2つのことがあります。

  1. 元のCOMスタイル(私が気に入った)のインターフェイスではなく、MarshalByRefから継承するクラスに重点が置かれるのはなぜですか?

  2. .NET Remotingで、特定のインスタンスをURLに関連付けるのではなく、常に何らかのオブジェクトプールを効果的に作成する必要があるのはなぜですか?

サーバーコード:

RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingTypes.Server), "MyURL", WellKnownObjectMode.Singleton);

クライアントコード:

RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingTypes.Server), "MyURL", WellKnownObjectMode.Singleton);

しかし、自分で「サーバー」インスタンスを作成し、それをエンドポイントにバインドしたいとしますか?

RemotingTypes.Server myInstance = new RemotingTypes.Server();

今何?「myInstance」をURL「MyURL」に関連付けるにはどうすればよいですか?

4

2 に答える 2

1

Nickdの答えの問題:.NETリモーティングでこれを行う方法ではなく、すでに作成されたインスタンスをURLに関連付ける方法を知りたいと思いました(デフォルトのコンストラクターを持たない、作成したインスタンスの場合、例)。

.NETリモーティングの背後にある「哲学」と、それが型システムと密接に関連している理由を説明する壮大な反応があることを期待していました...

代わりに私が結論付けたのは、単純に次のとおりです。a).NETリモーティングがうまくいかないためです。使用しないでくださいb)代わりにWCFを使用してください

于 2009-01-08T13:41:57.720 に答える
0

私はCOMの経験がなく、2を理解していないため、ポイント1と2に実際に対処することはできませんが、system.Activatorクラスを使用する場合、特定の最後の質問に答えるために、次のことができます。

RemotingTypes.Server  myInstance = (RemotingTypes.Server) Activator.GetObject(typeof(RemotingTypes.Server), MyUrl);

これは、構築時にバインドする必要があることを意味しますが、それはすべてクライアント側です。

私の同様の質問を参照してください。

于 2009-01-05T10:58:15.277 に答える