コード例 #1
0
ファイル: MsmqLoadBalancer.cs プロジェクト: helge/rhino-esb
        private void SendReadyForWorkQueueUri(MessageQueue responseQueue)
        {
            if (responseQueue == null)
            {
                return;
            }
            try
            {
                var transactionType = MessageQueueTransactionType.None;
                if (Endpoint.Transactional.GetValueOrDefault())
                {
                    transactionType = Transaction.Current == null ? MessageQueueTransactionType.Single : MessageQueueTransactionType.Automatic;
                }

                var newEndpoint = ReadyForWorkListener != null ? ReadyForWorkListener.Endpoint.Uri : Endpoint.Uri;
                var message     = new ReadyForWorkQueueUri {
                    Endpoint = newEndpoint
                };
                responseQueue.Send(GenerateMsmqMessageFromMessageBatch(message), transactionType);
            }
            catch (Exception e)
            {
                logger.Error("Failed to send known ready for work queue uri", e);
            }
        }
コード例 #2
0
 private void SendReadyForWorkQueueUri(MessageQueue responseQueue)
 {
     if (responseQueue == null)
     {
         return;
     }
     try
     {
         var newEndpoint = ReadyForWorkListener != null ? ReadyForWorkListener.Endpoint.Uri : Endpoint.Uri;
         var message     = new ReadyForWorkQueueUri {
             Endpoint = newEndpoint
         };
         responseQueue.TransactionalSend(GenerateMsmqMessageFromMessageBatch(message), Endpoint.Transactional.GetValueOrDefault());
     }
     catch (Exception e)
     {
         logger.Error("Failed to send known ready for work queue uri", e);
     }
 }