private void UpdateActivation() { if (_observer != null) { try { DeactivateObserver(); } catch (Exception e) { Logger.Warn("Failed to deactivate previously activated observer: " + e); } try { OrbServices.ActivateObject((MarshalByRefObject)_observer); _obsId = _theSession.subscribeObserver(_observer); Logger.Info("Observer subscribed"); } catch (Exception e) { if (_obsId != 0) { _theSession.unsubscribeObserver(_obsId); } Logger.Error("Error subscribing to the session: " + e); throw; } } if (_consumer != null) { try { DeactivateConsumer(); } catch (Exception e) { Logger.Warn("Failed to deactivate previously activated consumer: " + e); } try { OrbServices.ActivateObject((MarshalByRefObject)_consumer); _subsId = _theSession.channel.subscribe(_consumer); Logger.Info("Consumer registered"); } catch (Exception e) { if (_subsId != 0) { _theSession.channel.unsubscribe(_subsId); } Logger.Error("Error subscribing to the channel: " + e); throw; } } }
/// <summary> /// Permite que a faceta seja vista remotamente utilizando um identificador. /// </summary> /// <param name="facetObj">A faceta.</param> /// <param name="id">O nome identificador da faceta.</param> /// <returns>Referência para o objeto remoto.</returns> public static ObjRef ActivateFacet(MarshalByRefObject facetObj, String id) { return(OrbServices.ActivateObject(facetObj, id)); }