1
我有两个服务在同一个进程中运行,在不同的IP端口上托管相同的类。.Net Remoting调用上下文
根据调用的端口,预期实例化的类将针对不同的数据库工作。
是否有可能在MarshalByRefObjects的类的构造函数中获取一些“所有者”信息?
对服务,TcpCannel或一些任意值的引用。任何事情都会做,我很绝望。
澄清(我希望): 在我的Main()我有
ServicesToRun = new ServiceBase[] {
new BatchServer("ServerA"),
new BatchServer("ServerB")};
和ExecuteService()在我的ServiceBase实现我:
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
谢谢@ user6130。实现我自己的SinkProvider解决了它。抱歉,我无法将评论标记为答案。 – idstam