private void Reconnect()
        {
            bool flag = true;

            try
            {
                Message      message = WsrmUtilities.CreateAckRequestedMessage(base.Settings.MessageVersion, base.Settings.ReliableMessagingVersion, base.ReliableSession.OutputID);
                TimeSpan     timeout = this.closing ? this.closeTimeoutHelper.RemainingTime() : this.DefaultCloseTimeout;
                IAsyncResult result  = base.Binder.BeginSend(message, timeout, onReconnectComplete, this);
                flag = false;
                if (result.CompletedSynchronously)
                {
                    this.HandleReconnectComplete(result);
                }
            }
            catch (Exception exception)
            {
                if (Fx.IsFatal(exception))
                {
                    throw;
                }
                if (!flag)
                {
                    throw;
                }
                this.WaitForReconnect();
            }
        }
        private Message CreateAckRequestedMessage()
        {
            Message message = WsrmUtilities.CreateAckRequestedMessage(this.settings.MessageVersion, this.settings.ReliableMessagingVersion, this.session.OutputID);

            this.AddAcknowledgementHeader(message, true);
            return(message);
        }
 private void PollingCallback()
 {
     using (Message message = WsrmUtilities.CreateAckRequestedMessage(base.Settings.MessageVersion, base.Settings.ReliableMessagingVersion, base.ReliableSession.OutputID))
     {
         base.Binder.Send(message, base.DefaultSendTimeout);
     }
 }
 private void PollingCallback()
 {
     using (Message message = WsrmUtilities.CreateAckRequestedMessage(this.Settings.MessageVersion, this.Settings.ReliableMessagingVersion, this.ReliableSession.OutputID))
     {
         this.OnConnectionSendMessage(message, base.DefaultSendTimeout, MaskingMode.All);
     }
 }
        private IAsyncResult OnConnectionBeginSendAckRequestedHandler(TimeSpan timeout, AsyncCallback callback, object state)
        {
            this.session.OnLocalActivity();
            Message message = WsrmUtilities.CreateAckRequestedMessage(this.settings.MessageVersion, this.settings.ReliableMessagingVersion, this.ReliableSession.OutputID);

            return(this.OnConnectionBeginSendMessage(message, timeout, callback, state));
        }
 private async Task PollingAsyncCallback()
 {
     using (Message request = WsrmUtilities.CreateAckRequestedMessage(Settings.MessageVersion,
                                                                      Settings.ReliableMessagingVersion, ReliableSession.OutputID))
     {
         await OnConnectionSendMessageAsync(request, DefaultSendTimeout, MaskingMode.All);
     }
 }
 private void OnConnectionSendAckRequestedHandler(TimeSpan timeout)
 {
     this.session.OnLocalActivity();
     using (Message message = WsrmUtilities.CreateAckRequestedMessage(this.settings.MessageVersion, this.settings.ReliableMessagingVersion, this.ReliableSession.OutputID))
     {
         this.OnConnectionSend(message, timeout, false, true);
     }
 }
示例#8
0
        private Message CreateAckRequestedMessage()
        {
            Message request = WsrmUtilities.CreateAckRequestedMessage(settings.MessageVersion,
                                                                      settings.ReliableMessagingVersion, session.OutputID);

            AddAcknowledgementHeader(request, true);
            return(request);
        }
 private async Task OnConnectionSendAckRequestedAsyncHandler(TimeSpan timeout)
 {
     _session.OnLocalActivity();
     using (Message message = WsrmUtilities.CreateAckRequestedMessage(Settings.MessageVersion,
                                                                      Settings.ReliableMessagingVersion, ReliableSession.OutputID))
     {
         await OnConnectionSendAsync(message, timeout, false, true);
     }
 }