Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Позвольте мне знать, если это помогает!JFV

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top