Сократите время запуска приложения .NET Windows form, работающего с сетевого диска

StackOverflow https://stackoverflow.com/questions/104815

  •  01-07-2019
  •  | 
  •  

Вопрос

У меня есть простое приложение .NET 2.0 Windows form, которое запускается с сетевого диска (например\MyServer\MyShare\app.exe).Он очень простой и загружает только минимальный объем .СЕТЕВЫЕ библиотеки.Тем не менее, загрузка по-прежнему занимает ~ 6-10 секунд.Люди думают, что, должно быть, что-то не так, что загрузка такого маленького приложения занимает так много времени.

Есть ли какие-либо предложения по улучшению скорости запуска?

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

Решение

Попробуйте Системный Обозреватель процессов.В нем есть столбец "% времени в JIT".Если это число велико, вы могли бы запустить ngen в вашем заявлении.Если это не так, то, скорее всего, это медленное сетевое соединение.У CodeGuru есть учебник по использование ngen.

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

Чтобы ускорить время загрузки, вы можете скомпилировать крошечное приложение start и позволить этому приложению выполнять загрузку сборок во время выполнения из библиотеки вне папки bin.

http://support.microsoft.com/kb/837908

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

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

Вы могли бы обмануть Microsoft Office (и Adobe, я думаю) и добавить приложение в группу запуска, которое сообщает приложению о загрузке, а затем немедленно выгружает.Таким образом, библиотеки DLL предварительно кэшируются в памяти на случай, когда пользователь попытается запустить приложение.Только поймать:Я не совсем уверен, работает ли это таким образом с сетевыми файлами - и если это не так, это может быть причиной медленного запуска (т. Е. вы всегда выполняете холодный запуск по сравнению с возможным теплым запуском при запуске с локального компьютера).

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