Domanda

Abbiamo un servizio che esegue metodi usati per l'importazione / esportazione dei dati a intervalli specificati. Per testare questi metodi abbiamo una piccola applicazione con un solo pulsante che, quando viene cliccato, crea un'istanza della classe import / export e invoca il metodo desiderato. Nulla di bello. Vorrei creare un'applicazione di test più solida in grado di ricevere informazioni di debug dal metodo in modo più in tempo reale rispetto al valore restituito dal metodo di servizio. Questi metodi possono richiedere da pochi minuti a 30 minuti per eseguire un carico completo di importazione / esportazione e vorrei alcune indicazioni sulla quantità di dati che sono già stati elaborati.

La mia idea iniziale era quella di racchiudere le classi in un tipo di classe di accodamento dei messaggi che l'applicazione di test poteva quindi leggere e visualizzare i messaggi. Comunque sono ancora un po 'un n00b, quindi non so se c'è un modo migliore per fare quello che voglio fare.

Sviluppiamo in VB su .NET 2.0

È stato utile?

Soluzione

È possibile modificare i metodi di servizio per generare eventi che riportano sullo stato durante l'elaborazione, quindi semplicemente gestire gli eventi nel codice per aggiornare lo stato, sarebbe il metodo più veloce.

Il tuo codice di produzione semplicemente non può fare nulla con gli eventi

Altri suggerimenti

Forse puoi usare un oggetto BackgroundWorker per aggiornare l'applicazione con le informazioni di debug dal tuo servizio. La cosa bella di BackgroundWorker è che esegue il codice su un thread separato che rende il modulo disponibile per gli aggiornamenti.

L'uso di BackgroundWorker ti consentirà di aggiornare l'applicazione con le informazioni di debug dal servizio, consentendoti di vedere più informazioni mentre il processo è in esecuzione. Avviare il processo nel metodo "DoWork" e quando sono presenti informazioni di debug da visualizzare, richiamare il metodo "ProgressChanged". Nel metodo "ProgressChanged", puoi aggiornare il modulo con le informazioni di debug.

Fammi sapere se questo aiuta! JFV

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top