2008-10-16 4 views
0

У нас есть служба, которая запускает методы, используемые для импорта/экспорта данных через определенные промежутки времени. Чтобы протестировать эти методы, у нас есть небольшое приложение с одной кнопкой, которая при нажатии вызывает экземпляр класса импорта/экспорта и вызывает требуемый метод. Ничего особенного. Я хотел бы создать более надежное тестовое приложение, которое может получать отладочную информацию из метода более в режиме реального времени, чем возвращаемое значение из метода службы. Эти методы могут занимать от нескольких минут до 30 для полной загрузки импорта/экспорта, и мне хотелось бы указать количество данных, которые уже были обработаны.GUI Для методов обслуживания

Моя первоначальная идея заключалась в том, чтобы обернуть классы в некоторый тип класса очередей сообщений, который тестовое приложение могло затем читать и отображать сообщения. Однако я по-прежнему отношусь к n00b, поэтому я не знаю, есть ли лучший способ сделать то, что я хочу сделать.

Мы разрабатываем в VB .NET на 2,0

ответ

2

Вы можете изменить методы обслуживания, чтобы вызывать события, которые сообщают о состоянии во время обработки затем просто обрабатывать события в коде, чтобы обновить статус, который будет самым быстрым метод.

Ваш код продукции может просто ничего не делать с событиями

1

Может быть, вы можете использовать объект BackgroundWorker для обновления приложения с информацией Debug от вашей службы. Самое приятное в BackgroundWorker заключается в том, что он запускает код в отдельном потоке, который оставляет вашу форму доступной для обновлений.

Использование BackgroundWorker позволит вам обновить приложение с помощью отладочной информации из службы, что позволит вам видеть больше информации во время процесса. Запустите процесс в методе «DoWork», и когда будет отображаться информация об отладке, вызовите метод «ProgressChanged». В методе «ProgressChanged» вы можете обновить форму с помощью отладочной информации.

Дайте мне знать, если это поможет! JFV

+0

+1 Вы комментарий был очень полезен, как и Митчел, однако его ответ был более похожим на то, что я просил. Вы должны быть рады узнать, что я реализовал BackgroundWorker, а также события. – 2008-10-17 19:48:48