/// <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); } } }
/// <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; } } }