Приложение .Net экстремально медленное. После убийства svchost.exe он снова запускается быстро. Любая идея? - PullRequest
1 голос
/ 03 января 2011

У меня есть приложение C # .Net 3.5 (x86), работающее на Windows7 x64.

По любой причине через несколько дней или недель приложение работает крайне медленно.

Все остальные приложенияработает нормально (также другое приложение C # .Net 3.5 (x86)).

После уничтожения нескольких svchost.exe приложение снова работает в нормальном режиме.Перезагрузка без убийства svchost.exe также не помогает.Вероятно, Windows сохраняет состояние svchost.exe.Если я выйду из системы и снова войду в систему, она также будет работать снова, не убивая svchost.При выходе из системы svchost, вероятно, очищается.

Кто-нибудь есть идеи, как решить проблему?

Привет Wowa

РЕДАКТИРОВАТЬ:

Основная форма - это просто MDI-контейнер с древовидной структурой слева со статическими узлами.

Приложение проверяет при запуске обновления через сетевой путь (проверяет дату создания файлов), но это можетЭто не проблема, потому что все остальные ПК работают без проблем.

После обновления каждая MDI-дочерняя форма запускается через 1-2 минуты, даже пустая форма.

EDIT: Извините, я забыл, что обновление выполняется не этим приложением, а другим, которое не имеет ничего общего с медленным приложением.

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

Но медленное приложение удаляет файлы по локальному временному пути.System.IO.File.Delete()

Ответы [ 3 ]

7 голосов
/ 03 января 2011

Без каких-либо подробностей или кода относительно того, как именно ваше приложение проверяет наличие обновлений при запуске, я собираюсь догадаться, что оно делает это в потоке пользовательского интерфейса (основной поток) и блокирует ваше приложение во время этого.

Вы упомянули, что он проверяет наличие обновлений через сетевой путь, я предполагаю, что вы имеете в виду общий сетевой ресурс, и в этом случае это может быть причиной того, что один из процессов svchost работает.Получите Process Explorer и используйте его, чтобы точно определить, какие службы запускаются вызывающим svchost (с помощью подсказки или вкладки «Службы» в свойствах процесса):

0 голосов
/ 19 января 2011

То же самое давило на нас.Acrobat InDesign CS5 ME вер.(приложение x86) Мы попробовали и попробовали снова (Win7 64; 2 ГБ; 1 ГБ видеокарта).Я заметил scvhost @ 50000, сидящего в Taskmanager;убил его, но возвращается.Мы еще не обновились из-за этого.Мы запускаем то же самое приложение на XP-32, и у нас тоже есть некоторые проблемы, но это скорее из-за того, что у нас всего 128 МБ видеопамяти (2 чипа P4, 4 ГБ памяти).Я заглянул в ProExp, но не знал, как посмотреть.Спасибо за чаевые.Эй, я простой парень, а не профессиональный программист.

0 голосов
/ 03 января 2011

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

...