Pregunta

Tenemos un servicio que ejecuta métodos utilizados para importar / exportar datos a intervalos específicos. Para probar estos métodos, tenemos una pequeña aplicación con un solo botón que, al hacer clic, crea una instancia de la clase de importación / exportación e invoca el método deseado. Nada sofisticado. Me gustaría crear una aplicación de prueba más robusta que pueda recibir información de depuración del método en una forma más en tiempo real que el valor de retorno del método de servicio. Estos métodos pueden tomar desde unos pocos minutos hasta 30 para ejecutar una carga completa de importación / exportación, y me gustaría alguna indicación de la cantidad de datos que ya se han procesado.

Mi idea inicial fue envolver las clases en algún tipo de clase de cola de mensajes que la aplicación de prueba podría leer y mostrar los mensajes. Sin embargo, sigo siendo un poco n00b en esto, así que no sé si hay una mejor manera de hacer lo que quiero hacer.

Desarrollamos en VB en .NET 2.0

¿Fue útil?

Solución

Puede modificar sus métodos de servicio para generar eventos que informen sobre el estado durante el procesamiento y luego simplemente maneje los eventos en su código para actualizar el estado, ese sería el método más rápido.

Su código de producción simplemente no puede hacer nada con los eventos

Otros consejos

Quizás pueda usar un objeto BackgroundWorker para actualizar su aplicación con la información de depuración de su servicio. Lo bueno de BackgroundWorker es que ejecuta el código en un hilo separado que deja su formulario disponible para actualizaciones.

El uso de BackgroundWorker le permitirá actualizar su aplicación con información de depuración del servicio, lo que le permitirá ver más información mientras se ejecuta el proceso. Inicie el proceso con el método 'DoWork' y, cuando haya que mostrar información de depuración, invoque el método 'ProgressChanged'. En el método 'ProgressChanged', puede actualizar su formulario con la información de depuración.

Déjame saber si esto ayuda! JFV

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top