Учитывая, что единственный способ выгрузить динамически скомпилированные сборки (для освобождения памяти) — выгрузить домен приложения, как SharePoint использует VirtualPathProviders, в частности, для главных страниц и макетов страниц, не натыкаясь на это ограничение?
Перезапуск можно отложить с помощью различных настроек, но нельзя полностью избежать, если мастер-страницы и макеты страниц часто обновляются и публикуются, верно?
(Связано ли отсутствие информации об этом с тем, что это более теоретическое ограничение, которое не распространено в шаблонах публикации? Вы лично замечали, что частота изменений главных страниц или макетов вызывает нестабильность приложения? Должен ли SharePoint выдавать предупреждение?)
Любая возможность в стиле CMS, использующая динамические веб-формы (включая, по умолчанию, представления MVC), подвержена нестабильности скорости изменения, верно?
Обновление на страницах без компиляции:
Страницы без компиляции В ASP.NET 2.0 модель компиляции была значительно переработана и расширена. Прекомпиляция сайта, пожалуй, самая популярная и востребованная из новых функций. Еще одна довольно интересная функция — страницы без компиляции. Это специальные страницы, которые просто никогда не компилируются. Итак, какова конечная цель некомпилируемых страниц и в чем разница между ними и статическими HTML-страницами? Для начала вы создаете страницу без компиляции, устанавливая для атрибута CompilationMode в директиве @Page значение Never. Когда запрашивается страница без компиляции, сборка страницы не создается и не сохраняется на диске. Вместо этого экземпляр компонента компоновщика страниц кэшируется в памяти и используется для создания вывода страницы для каждого запроса. Компоновщик страниц — это специальный компонент, который поддерживает анализатор страниц при построении дерева управления страницей. Когда компиляция включена, дерево управления используется для получения класса для компиляции. Когда компиляция выключена, для получения разметки используется управляющее дерево. Излишне говорить, что классы необходимы, если вы хотите дать программистам возможность прикреплять свой собственный код к странице. Страницы без компиляции состоят из серверных элементов управления и литералов, но вообще не содержат кода.
Страницы без компиляции подходят не для каждого приложения. Они предназначены исключительно для улучшения масштабируемости на очень больших веб-сайтах с тысячами страниц. Страницы без компиляции не могут быть привязаны к файлу кода и не могут содержать блок на стороне сервера. Единственная исполняемая часть кода, разрешенная на странице без компиляции, — это $-выражения. У некомпилируемых страниц есть два основных преимущества. В безопасной среде, такой как SharePoint, страницы без компиляции не позволяют разработчикам писать потенциально ошибочный код, который может вызвать проблемы в среде размещения и даже вывести ее из строя. На большом контентном веб-сайте страницы без компиляции позволяют избежать компиляции тысяч страниц.
Использованная литература:
1 – http://haacked.com/archive/2009/04/22/scripted-db-views.aspx