EDL Dot Net: Multi-Hilos

Aunque no sea de tu interés este tema, te invitamos a leer completamente este artículo, ya que, a través del mismo, podrás entender el funcionamiento de la librería.

Como comentábamos en un artículo anterior, hemos modificado la librería para que pueda ser usada en un ambiente de múltiples hilos, esto es, si requieres generar múltiples CFDI al mismo tiempo, puedes usar la librería sin problema, esto no era posible en versiones anteriores.

El poder implementar esta nueva característica ha llevado un gran esfuerzo por parte de nuestro equipo de desarrollo y de QA, ya que fue necesario rehacer parte del funcionamiento de la misma, crear nuevos métodos, etc.

Métodos estáticos
A partir de esta versión, no recomendamos hacer uso de los métodos estáticos proporcionados por la librería, a excepción de los relacionados con la licencia.

La idea es que siempre instancies el objeto y uses sus métodos, esto se vuelve una obligación cuando quieres trabajar con múltiples hilos; recomendamos revisar los ejemplos, ya que todos han sido modificados para no hacer uso de métodos estáticos.

Otro punto a comentar y que está relacionado con este tema, es que muchos de los métodos estáticos existentes, han sido marcados como obsoletos, esto quiere decir que puedes seguir usándolos, pero serán eliminados en un futuro, se tiene planeado su eliminación para principios de 2019, por lo que tienes tiempo (1 año y 8 meses) suficiente para hacer el cambio.

Recomendaciones
Hemos creado una serie de lineamientos que debes seguir si quieres hacer uso de esta nueva característica:

  • Es necesario hacer uso de la nueva forma de instanciar los objetos.
  • Siempre debes de iniciar los objetos creados antes de empezar a usarlos.
  • No es posible reutilizar objetos a través de los hilos, cada hilo debe crear sus propios objetos (certificate, manage, electronidocument, etc.).
  • No debes hacer uso de los métodos estáticos proporcionados por la librería.
  • No debes cargar la licencia en cada hilo, solamente debes cargarla antes de empezar a hacer uso de los threads.
  • Se requiere hacer uso de esta versión (2017.04.17) o una superior.
  • La generación de adendas no puede ser usada en hilos, si requieres esta funcionalidad por favor, ponte en contacto con nosotros.
  • La lectura del Acuse de cancelación no es posible usarlo en hilos.

Manejo de múltiples hilos
Algo importante que queremos aclarar es que la librería puede ser usada a través de múltiples hilos, pero no hemos desarrollado una clase que administre esta generación, esto quiere decir, que es necesario que tú desarrolles el código que crea, administra y coordina el funcionamiento de los mismo.

En .Net existen diferentes opciones para esta tarea desde simples threads hasta cosas mucho más complejas y avanzadas como Parallel, ¿cuál usar?, va a depender de varios factores:

  • Tu nivel de experticia con el tema.
  • Versión del Dot Net Framework que uses.
  • Requerimientos de tu sistema.

Como punto final, nos gustaría que nos enviaras un correo o nos dejaras un comentario donde nos cuentes si deseas hacer uso de esta nueva característica y tu experiencia con la misma.

Si tienes alguna duda con respecto a este tema, te invitamos a que nos contactes por medio de nuestro foro que aparece en nuestra página www.facturando.mx donde con gusto un asesor te atenderá.

Saludos