Я только что прочитал интересную статью. В основном это говорит о том, что вы должны точно настроить параметры IIS для каждого приложения двумя способами:
- сопоставления обработчиков - удалить все неиспользуемые приложением
- модули - удалить все неиспользуемые приложением
Хорошо, я разрабатываю ASP.NET уже некоторое время, даже на работе, и мы никогда не делали этого на производственной среде afaik. Я понимаю представленные теоретические преимущества - минимизацию "поверхности" приложения (безопасности) и повышение производительности. Но мне действительно интересно, если вы делаете это в реальной жизни (реальные проекты для ваших клиентов, а не проекты с концептуальной концепцией). Каковы недостатки этого (возможно, maintanability?). И самый важный вопрос - стоит ли это? Является ли, например, увеличение производительности даже видимым?
Кроме того, если вы считаете это хорошей практикой, представьте какой-нибудь хороший и последовательный способ (или укажите мне учебник), как именно вы это делаете - как вы решаете, какое пребывание и что удалить.
Например, минимальный, но рабочий набор для приложения ASP.NET MVC 3, который использует настраиваемую аутентификацию (основанную на сеансе, не полагающуюся на Forms auth, Windows auth и т.д.), нет веб-сервисов и подобных функций?
ИЗМЕНИТЬ
Я нашел эту статью: http://madskristensen.net/post/Remove-default-HTTP-modules-in-ASPNET.aspx
В нем Скотт Гатри говорит:
В общем, вы можете получить очень небольшие выигрыши в производительности, используя этот подход, хотя я бы, вероятно, не рекомендовал этого делать. Причина в том, что некоторые функции ASP.NET(формы auth, role, caching и т.д.), Конечно, перестанут работать после удаления модулей, от которых они зависят. Попытка выяснить, почему это произошло, часто может сбивать с толку.
Но все же никаких измерений, практик (я не совсем уверен в аргументе "вы можете быть удивлены позже" ):