DotNetNuke - каждый раз, когда сторонняя DLL-библиотека изменяется в папке BIN, для загрузки следующей страницы требуется DNN 10 секунд. - PullRequest
1 голос
/ 03 сентября 2010

У меня есть стандартная установка DotNetNuke, для которой я разрабатываю некоторые модули.

Каждый раз, когда я обновляю один из моих модулей, он обновляет DLL этого модуля в папке bin установки DotNetNuke.

Несмотря на то, что я не затрагиваю основную DLL-библиотеку DotNetNuke, похоже, что IIS либо перерабатывает каждую DLL в папке, либо выполняет какую-то другую трудоемкую задачу, поскольку для загрузки любой страницы требуется не менее 10 секунд Я перекомпилирую DLL одного модуля.

Для сравнения, если бы этот модуль работал вне DotNetNuke, он загрузился бы менее чем за секунду.

Есть ли способ обойти эту задержку?

Ответы [ 2 ]

5 голосов
/ 03 сентября 2010

Всякий раз, когда вы изменяете .dll в папке bin, ASP.Net перезапускает приложение.Запуск приложения не обязательно означает, что что-то перекомпилируется, хотя некоторые модули могут перекомпилироваться, но, вероятно, не до тех пор, пока они не будут использованы.Большая часть времени уходит на проверку / загрузку всех сборок в папке bin и выполнение всего кода запуска приложения.Удаление ненужных модулей поможет сократить время запуска, поскольку эти сборки больше не нужно загружать.

У Митчелла Селлерса есть отличный документ под названием DotNetNuke Performance Configuration Best Practices скачать здесь несколькоиз этих рекомендаций поможет сократить время запуска, и в целом это хороший справочник о том, как эффективно развернуть сайт DNN.

1 голос
/ 03 сентября 2010

По комментариям это звучит как обычная компиляция сайта Asp.net.Вот несколько хороших ссылок, охватывающих детали.

msdn: Обзор компиляции ASP.NET
msdn: Обзор предварительной компиляции веб-сайта ASP.NET
Рик Шталь хорошо написал

...