public void EjecutarProceso(object informacionProcesoObj)
        {
            try
            {
                Proceso proceso = informacionProcesoObj as Proceso;

                IProcesoMasivo procesoEjecucion = null;
                String         error            = "-";
                procesoEjecucion = (IProcesoMasivo)System.Activator.CreateInstance(Type.GetType(proceso.Tipo.ToString()));

                if (informacionProcesoObj != null)
                {
                    lock (procesoEjecucion)
                    {
                        try
                        {
                            procesoEjecucion.EjecutarProceso();
                        }
                        catch (Exception ex)
                        {
                            error = ex.Message;

                            if (ex.InnerException != null)
                            {
                                error += ex.InnerException.Message;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void EjecutarProceso(object informacionProcesoObj)
        {
            try
            {
                Proceso proceso = informacionProcesoObj as Proceso;

                IProcesoMasivo procesoEjecucion = null;
                String         error            = "-";
                procesoEjecucion = (IProcesoMasivo)System.Activator.CreateInstance(Type.GetType(proceso.Tipo.ToString()));

                if (informacionProcesoObj != null)
                {
                    lock (procesoEjecucion)
                    {
                        try
                        {
                            procesoEjecucion.EjecutarProceso();
                        }
                        catch (Exception ex)
                        {
                            error = ex.Message;

                            if (ex.InnerException != null)
                            {
                                error += ex.InnerException.Message;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // Get normal filepath of this assembly's permanent directory
                string dir = System.Configuration.ConfigurationManager.AppSettings["dirlog"];

                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }

                string clase = this.GetType().Name;
                string path  = dir + clase + DateTime.Now.ToString("yyyyMMddHHmmss") + "Error.txt";
                if (!File.Exists(path))
                {
                    // Create a file to write to.
                    using (StreamWriter sw = File.CreateText(path))
                    {
                        sw.WriteLine("------------------------Message-------------------------------------");
                        sw.WriteLine(ex.Message);
                        sw.WriteLine("------------------------Message-------------------------------------");
                        if (ex.InnerException != null)
                        {
                            sw.WriteLine("------------------------InnerException-------------------------------------");
                            sw.WriteLine(ex.InnerException.Message);
                            sw.WriteLine("------------------------InnerException-------------------------------------");
                            sw.WriteLine("------------------------InnerException-StackTrace-------------------------------------");
                            sw.WriteLine(ex.InnerException.StackTrace);
                            sw.WriteLine("------------------------InnerException-StackTrace-------------------------------------");
                        }
                        sw.WriteLine("------------------------StackTrace-------------------------------------");
                        sw.WriteLine(ex.StackTrace);
                        sw.WriteLine("------------------------StackTrace-------------------------------------");
                    }
                }
            }
        }