同じプロセスを実行して、同じクラスをホストしている2つのサービスが異なるIPポートにある。.Net Remoting Calling Context
インスタンス化されたクラスは、呼び出されたポートに応じて異なるデータベースに対して動作することが期待されます。
MarshalByRefObjectsであるクラスのコンストラクタで「所有者」情報を取得する可能性はありますか?
サービス、TcpCannelまたは任意の値への参照。何かする、私は絶望的です。
明確化(私は願っています):私のメインで ()私は私が持っている
ServicesToRun = new ServiceBase[] {
new BatchServer("ServerA"),
new BatchServer("ServerB")};
と私のServiceBase実装のExecuteService()内
を持っている:私は作成し、クライアント側でRemotingConfiguration.RegisterWellKnownServiceType(
typeof(RmtObject), "RmtObject",
WellKnownObjectMode.Singleton);
(RmtObject)Activator.GetObject(typeof(RmtObject), theURI, WellKnownObjectMode.Singleton);
私がRmtObject Iで実行したときRmtObjectがServerAまたはServerBに属しているかどうかを知る必要があります。
わかりやすい場合は、代わりにWellKnownObjectMode.SingleCallを使用できます。
質問を明確にすることはできますか?私は本当に問題を理解していない。 – leppie
これを試しましたか? http://stackoverflow.com/questions/527676/identifying-the-client-during-a-net-remoting-invocation – chandmk
Thanks @ user6130。私自身のSinkProviderを実装して解決しました。申し訳ありませんが、私は答えとしてコメントすることはできません。 – idstam