Вы натыкаясь против недостатка ASP.NET, при использовании с крупными веб-приложениями.
DotNetNuke имеет много значимых DLL и VB-файлов, которые все должны быть переработаны, если все, что вы делаете, это изменение одной DLL. Если у вас есть 50 модулей DLL в вашем ящике, все 50 модулей DLL будут переработаны ASP.Net после следующего запроса приложения.
Вот мое предложение:
Hook вверх следующие папки для управления версиями (а не всю папку DNN):
- бен (я предлагаю игнорируя все Dnn DLL, так что обновления идут гладко)
- Portals_default \ Skins
- Portals_default \ Контейнеры
- JS
- DesktopModu les (игнорировать Admin или любые встроенные модули)
- изображений (игнорируйте основные изображения DNN, если хотите, или какие-либо из ваших собственных неуклюжих папок с изображениями, например тысячи фотографий клиентов)
- (необязательно) CompanyName \ (где вы можете хочу сохранить другие .NET проектов, которые нуждаются в относительном доступе к DLL файлов в папке BIN)
Когда один из ваших разработчиков требуют повторяющихся нагрузок компилируют/страниц, он будет извлечь наибольшую пользу, устраняя как многие библиотеки DLL в папке бин как возможное. Это также поможет использовать костяной шлем для тестирования, если вы можете (их очень легко сделать).
Короткие кости (которые должны использовать только 1 или 2 объекта кожи, самое большее), а абсолютный минимум DLL (DNN Core + минимальный минимум) даст вам наилучшую скорость для разработки.
Когда ваш разработчик работает с целенаправленной разработкой одного модуля, он может обновлять те папки, которые он удалял из исходного элемента управления (svn здесь), завершить тестирование своего кода в контексте полного набора DLL/Skin, и он будет установлен.
Иногда это стоит того. Я не могу довести вас до нескольких секунд обработки ASP.NET, но я могу довести вас до 10-15 секунд.(при условии, что вы работаете на SSD)
Что касается возобновления производства, убедитесь, что ваш пул APP перерабатывается в нерабочее время.
Я посмотрел в, могут ли многоядерные расстановки как-то уменьшить это время перерабатывающего, но не вез (у меня есть открытый вопрос о ServerFault)
Мы используем проекты веба-приложения, так что каждый модуль должен быть предварительно скомпилированным. Однако я иногда замечаю, что IIS действительно восстанавливает страницы по какой-то причине. – Morri
Если вы считаете от 30 до 50% 1 минуты намного быстрее, тогда вы правы. Тем не менее, 20 секунд все еще медленно, как черт. Дело в том, что есть много DLL, которые нужно перерабатывать - и каждый раз, когда вы посещаете новый модуль, выполняется дополнительная компиляция. –