Хранить файлы в кеше файловой системы Windows?
Я заметил, что даже самому простому приложению Winform (то есть просто окну без дополнительных модулей) все еще требуется несколько секунд для загрузки после создания его машинного кода, эквивалентного через Ngen. Я предполагаю, что узким местом является загрузка.Net Framework с диска.
Microsoft CacheSet не позволяет управлять фактическим содержимым дискового кэша.
Существует ли приложение, которое может заставить Windows хранить основные файлы.Net в своем дисковом кеше в качестве обходного пути для более медленного запуска приложений.Net?
Спасибо.
Изменить: Вот снимок экрана Process Monitor временной шкалы:
1 ответ
.NET Framework имеет небольшую задержку при первой загрузке платформы в память, но это не тот масштаб, о котором вы говорите. Вы работаете с отладчиком?
В качестве альтернативы вы можете увидеть, пытаются ли подписанные сборки.NET получить доступ к crl.microsoft.com
, который может ввести задержку в зависимости от условий сети. Для этого используйте Process Monitor.
Фактически, Process Monitor будет шаг за шагом определять для вас, что происходит, когда вы что-то запускаете, и вы можете сузить проблему гораздо проще, чем угадывать.