У меня есть две службы, работающие в одном и том же процессе и размещающие одни и те же классы на разных IP-портах.
Ожидается, что созданные экземпляры классов будут работать с разными базами данных в зависимости от того, какой порт был вызван.
Возможно ли получить некоторую информацию о владельце в конструкторе моих классов, которые являются MarshalByRefObjects?
Ссылка на Service, 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, мне нужно знать, в RmtObject, принадлежит ли он ServerA или ServerB.
Я мог бы вместо этого использовать WellKnownObjectMode.SingleCall, если это облегчает задачу.