/// <summary>
        ///
        /// </summary>
        private void TraceRegister(TraceInfoTypes type, string method, IDictionary <string, object> parameters)
        {
            System.Threading.Tasks.Task.Run(() =>
            {
                IDictionary <string, string> CustomParameters = new Dictionary <string, string>();

                var sb = new StringBuilder(method);

                foreach (var parameter in parameters)
                {
                    sb.Append(" ");

                    if (parameter.Value == null)
                    {
                        sb.AppendFormat("[{0}=]", parameter.Key);
                    }
                    else if (parameter.Value is IEnumerable)
                    {
                        sb.AppendFormat("[{0}=", parameter.Key);

                        foreach (object v in parameter.Value as IEnumerable)
                        {
                            sb.Append(v);
                        }

                        sb.Append("]");
                    }
                    else
                    {
                        Exception ex = parameter.Value as Exception;

                        if (ex != null)
                        {
                            CustomParameters.Add(parameter.Key, JsonConvert.SerializeObject(ex));
                        }
                        else
                        {
                            CustomParameters.Add(parameter.Key, JsonConvert.SerializeObject(parameter.Value));
                        }
                    }
                }

                switch (type)
                {
                case TraceInfoTypes.Error:
                    _telemetry.TrackException(new Exception(sb.ToString()), CustomParameters);
                    break;

                case TraceInfoTypes.Warning:
                    _telemetry.TrackTrace(sb.ToString(), CustomParameters);
                    break;

                case TraceInfoTypes.Information:
                default:
                    _telemetry.TrackEvent(sb.ToString(), CustomParameters);
                    break;
                }
            });
        }
 /// <summary>
 ///
 /// </summary>
 public void TraceInfo(TraceInfoTypes type, string mensaje, IDictionary <string, object> parameters)
 {
     TraceRegister(type, mensaje, parameters);
 }