none
ASINCRONO RRS feed

  • Pregunta

  • Buenas tardes, tengo un procedimiento que se demora 10 minutos promedio, y bueno es por toda la info que procesa ,

    estuve leyendo sobre Asincrono e ir mostrando algo en el formulario mientras carga la data pero aun no la tengo clara:

    esta es la estrucura que manejo:

    private sub proceso

    For each

    FOR EACH

    FOR EACH

    END

    END

    End

    End sub

    Alguna orientacion de como usarlo y don de emplearlo.



    lutermick

    jueves, 23 de julio de 2015 20:30

Respuestas

  • ok, la forma mas fácil es que uses un control que se llama backgroundworker

    es mas fácil con un ejemplo, buscando en internet te encontré este

    http://geeks.ms/blogs/eecsaky/archive/2006/09/10/Usando-el-ProgressBar-con-un-BackGroundWorker.aspx

    es muy sencillo de usar el control, solo tienes que agregarlo a tu proyecto, le das doble click sobre el control y te abre una función llamada _doWork, aquí colocas tu código.

    y hay otra función que es _ProgressChanged, en esta cada vez que llamas a ReportProgress esta se ejecuta

    revisa ese ejemplo, saludos


    Ing. Carlos Monroy MCP, MCAD, MCSD, MCTS

    jueves, 23 de julio de 2015 22:20

Todas las respuestas

  • Quisas te podría ayudar hacer un Parallel,foreach, esto lo que te hace es que haces procesamiento en paralelo y si tus datos son independientes entre si, esos 10 min pueden disminuir al explotar las características de hardware de tu equipo

    checa este articulo de msdn https://msdn.microsoft.com/en-us/library/dd460720%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396


    Ing. Carlos Monroy MCP, MCAD, MCSD, MCTS

    jueves, 23 de julio de 2015 20:41
  • Gracias por responder, mi tema pasa mas por mostrar por ejemplo un contador o un progresbar mientras termina de hacer todo el proceso.

    lutermick

    jueves, 23 de julio de 2015 21:44
  • ok, la forma mas fácil es que uses un control que se llama backgroundworker

    es mas fácil con un ejemplo, buscando en internet te encontré este

    http://geeks.ms/blogs/eecsaky/archive/2006/09/10/Usando-el-ProgressBar-con-un-BackGroundWorker.aspx

    es muy sencillo de usar el control, solo tienes que agregarlo a tu proyecto, le das doble click sobre el control y te abre una función llamada _doWork, aquí colocas tu código.

    y hay otra función que es _ProgressChanged, en esta cada vez que llamas a ReportProgress esta se ejecuta

    revisa ese ejemplo, saludos


    Ing. Carlos Monroy MCP, MCAD, MCSD, MCTS

    jueves, 23 de julio de 2015 22:20