Пример #1
0
 /// <summary>
 /// Gets a single Poison Message, including message body and exception details.
 /// </summary>
 public static PoisonMessageInfo GetPoisonMessage(this SqlConnection connection, Guid conversation_handle)
 {
     using (var cmd = connection.CreateCommand())
     {
         var param = cmd.CreateParameter();
         param.ParameterName = "@conversation_handle";
         param.Value         = conversation_handle;
         param.DbType        = DbType.Guid;
         cmd.Parameters.Add(param);
         cmd.CommandText = Query_PosionMessage;
         using (var reader = cmd.ExecuteReader())
         {
             while (reader.Read())
             {
                 var message = new PoisonMessageInfo()
                 {
                     ConversationHandle = reader.GetGuid(0),
                     InsertDateTimeUTC  = reader.GetDateTime(1),
                     QueueName          = reader.GetString(2),
                     ServiceName        = reader.GetString(3),
                     OriginServiceName  = reader.GetString(4),
                     Retries            = reader.GetInt32(5),
                     ErrorCode          = reader.GetString(6),
                     ErrorMessage       = reader.GetString(7),
                     MessageBody        = reader.GetSqlBytes(8).Buffer,
                 };
                 return(message);
             }
             return(null);
         }
     }
 }
Пример #2
0
 /// <summary>
 /// Gets a single Poison Message, including message body and exception details.
 /// </summary>
 public static PoisonMessageInfo GetPoisonMessage(this SqlConnection connection, Guid conversation_handle)
 {
     using (var cmd = connection.CreateCommand())
     {
         var param = cmd.CreateParameter();
         param.ParameterName = "@conversation_handle";
         param.Value = conversation_handle;
         param.DbType = DbType.Guid;
         cmd.Parameters.Add(param);
         cmd.CommandText = Query_PosionMessage;
         using (var reader = cmd.ExecuteReader())
         {
             while (reader.Read())
             {
                 var message = new PoisonMessageInfo()
                 {
                     ConversationHandle = reader.GetGuid(0),
                     InsertDateTimeUTC = reader.GetDateTime(1),
                     QueueName = reader.GetString(2),
                     ServiceName = reader.GetString(3),
                     OriginServiceName = reader.GetString(4),
                     Retries = reader.GetInt32(5),
                     ErrorCode = reader.GetString(6),
                     ErrorMessage = reader.GetString(7),
                     MessageBody = reader.GetSqlBytes(8).Buffer,
                 };
                 return message;
             }
             return null;
         }
     }
 }