コード例 #1
0
 protected override void FailMessage(Message msg, string reason)
 {
     msg.ReleaseBodyAndHeaderBuffers();
     MessagingStatisticsGroup.OnFailedSentMessage(msg);
     if (MsgCenter.Running && msg.Direction == Message.Directions.Request)
     {
         if (Log.IsVerbose)
         {
             Log.Verbose(ErrorCode.ProxyClient_RejectingMsg, "Rejecting message: {0}. Reason = {1}", msg, reason);
         }
         MessagingStatisticsGroup.OnRejectedMessage(msg);
         Message error = msg.CreateRejectionResponse(Message.RejectionTypes.Unrecoverable, reason);
         MsgCenter.QueueIncomingMessage(error);
     }
     else
     {
         Log.Warn(ErrorCode.ProxyClient_DroppingMsg, "Dropping message: {0}. Reason = {1}", msg, reason);
         MessagingStatisticsGroup.OnDroppedSentMessage(msg);
     }
 }