Заморозка приложений WPF - PullRequest
0 голосов
/ 07 августа 2009

Я как бы потерялся здесь, и я не знаю, что делать

У меня проблема в том, что я не знаю, каков ее источник. У нас есть большое wpf-приложение, которое построено аналогично Prism (составное приложение). На самом деле мы используем много библиотек призмы. Я написал модуль для замены существующего модуля. И приложение теперь загружает мой модуль вместо старого модуля.

Я начинаю замечать, с новым модулем, что иногда приложение зависает на 20-30 секунд без какого-либо ответа, а затем оно работает плавно после этого.

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

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

Мой вопрос, есть ли способ отследить это замораживание? Есть ли способ сравнить старый модуль и новый модуль, который я написал?

Я могу запустить приложение с моим модулем и отследить приложение, а затем я могу изменить файл конфигурации для загрузки старого модуля. Есть ли способ сравнить между ними?

Должен ли я делать профилирование? и если профилирование поможет, то что мне искать? любой другой инструмент может помочь?

Большое спасибо за любой ответ

1 Ответ

1 голос
/ 08 августа 2009

Похоже, вы выполняете длительную операцию в потоке пользовательского интерфейса. Вы делаете какие-либо вызовы базы данных / веб-службы из основного потока? Я думаю, что одна из самых простых вещей - запустить его в отладчике, а когда он зависнет, нажать кнопку «пауза». Visual Studio приостановит выполнение в текущем местоположении, и вы сможете проверить, что занимает так много времени.

Если проблема не сразу очевидна, я бы определенно начал профилировать приложение, чтобы отследить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...