Exemple #1
0
        ResponseMessage Receive(UnSubscribeMessage message)
        {
            lock (this)
            {
                _subscriberTransportMessageInfo = null;
            }

            if (message.RequestResponse)
            {
                return(new ResponseMessage(true));
            }

            return(null);
        }
        public bool Stop(out string operationResultMessage)
        {// This will stop the integration client and abort the connection.
            if (OperationalState == OperationalStateEnum.Operational)
            {
                UnSubscribeMessage message = new UnSubscribeMessage();
                message.RequestResponce = false;

                this.SendAddressed(IntegrationClientId, message);
            }

            ChangeOperationalState(OperationalStateEnum.NotOperational);

            if (_integrationClient != null)
            {
                _integrationClient.ConnectionStatusChangedEvent -= new TransportIntegrationClient.ConnectionStatusChangedDelegate(_integrationClient_ConnectionStatusChangedEvent);
                Arbiter.RemoveClient(_integrationClient);
            }

            _isStarted = false;

            operationResultMessage = string.Empty;
            return(true);
        }