GUI для методов обслуживания - PullRequest
0 голосов
/ 16 октября 2008

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

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

Разрабатываем в VB на .NET 2.0

Ответы [ 2 ]

2 голосов
/ 16 октября 2008

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

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

1 голос
/ 16 октября 2008

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

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

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

...