РЕДАКТИРОВАТЬ: После прочтения вашего вопроса, вы можете использовать тип решения веб-сайта asp.net. Это не предварительно скомпилировано, когда вы отлаживаете и когда вы впервые запрашиваете страницу, она компилирует ее в класс в вашем каталоге asp.net. Затем DLL-библиотека для класса загружается в домен приложения с забавным именем, подобным тому, которое вы упомянули. Это происходит в первый раз, когда вы запрашиваете одну из этих страниц, и когда вы хотите развернуть ее, вы можете предварительно скомпилировать свой сайт для повышения производительности.
Если вы видите «loading xyz.dll», это означает, что домен приложения загружается в материал, который будет использоваться приложением. Это происходит, когда вам нужно запустить код из необходимых библиотек (в вашем случае, вероятно, сторонних библиотек), которые еще не были загружены в домен приложения. Это хорошо, потому что это означает, что страница, которая использует библиотеку, но никогда не вызывалась, никогда не загружает эту сборку в память. Вы можете переместить этот запрос с запроса первой страницы на загрузку приложения, предварительно загрузив все сборки в вашей корзине в домен приложения при запуске приложения. Это компромисс между использованием памяти и скоростью запросов. Этот вопрос - хорошее место для начала:
Как предварительно загрузить все развернутые сборки для домена приложений
Вы можете получить хороший обзор времени жизненного цикла вашей страницы с помощью функции трассировки в asp.net. Это можно установить в файле web.config, как описано в этой статье:
http://msdn.microsoft.com/en-us/library/94c55d08.aspx
Просмотр страницы trace.axd подскажет вам время от различных событий на сервере и позволит легко увидеть, где вы работаете медленно.
Если визуализация страницы по-прежнему занимает много времени, на стороне клиента существуют такие факторы, как
- ваша страница очень большая
- интерпретируете ли вы javascript до того, как все html и css были написаны
- ваша сеть медленная
- отправляете ли вы много css и js файлов? большинство браузеров ограничивают количество одновременных загрузок ресурсов. возможно, стоит объединить несколько CSS-файлов в один, в вашей производственной среде, по крайней мере,
- Вы используете клиентский кеш. вы можете сказать браузеру что-то кэшировать на некоторое время. Есть способы аннулировать этот кеш, если ваш контент требует обновления.
Это можно отладить с помощью клиентских инструментов, таких как firebug или инструменты разработчика в chrome.