C sharp - multithreading asynchronous

 
Vista:
Imágen de perfil de Luis David
Val: 8
Ha aumentado su posición en 12 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

multithreading asynchronous

Publicado por Luis David (4 intervenciones) el 11/10/2016 23:30:21
Buenas tardes,

estoy desarrollando una aplicación en la que necesito extraer datos de una base de datos (db) e ir creando un pdf con cada registro que obtenga de la db, el problema es que son mas de 6.000 registros y necesito que realizar esa acción en menos de una hora.


alguien sabe la forma de de realizar un multihilos asincronico que me ayude con esto?


Aca dejo el segmento de cogido que tengo actualmente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
List<Task> tasks = new List<Task>();
        private  void timer_Tick(object sender, EventArgs e)
        {
            if (iContador < 200)
            {
 
                Console.WriteLine("-------------------------------------  : " + iContador.ToString());
 
                codigoNuevo.ControllerContenido controller = new codigoNuevo.ControllerContenido();
                List<codigoNuevo.contenido> resultadoCompleto = controller.getCodigo("EXEC [dbo].[SP_OBT__EMAILS_MASIVOS_BONIFICACIONES]  {0}, {1}, {2}", conn);
 
                foreach (var valores in resultadoCompleto)
                {
                    tasks.Add(Task.Run(() => CrearPDF(valores.codigo, valores.to, valores.pass)));
 
 
 
                }
 
 
 
            }
 
            else
            {
                this.timer.Stop();
                this.timer.Enabled = false;
                MessageBox.Show("SIN PROBLEMAS");
            }
 
            iContador++;
        }


donde CrearPDF es un metodo asincronico.
El error en el codigo se presenta con las peticiones a la db me dice que la coneccion esta cerrada y que hay un Datareader abierto

yo abro la coneccion en el load y el metodo que ejecuta una consulta con el Datareader lo cierra al terminar la consulta


agradezco toda la ayuda que me puedan brindar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

multithreading asynchronous

Publicado por Yamil (1164 intervenciones) el 11/10/2016 23:54:57
Podiras :
1) Cerar un reader para traer los datos
2) Un loop para recorrer el reader
3) Creas un Thread que reciba los datos y genere el PDF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar