Для начала, я думаю, вы найдете все в одном довольно хорошо. Но с течением времени, если ваш сайт имеет определенную степень сложности, я думаю, вы могли бы найти, что вы хотите больше контроля.
Например, я использую некоторые JS-файлы, которые не могут быть уменьшены из-за формата javascript в нем (обратите внимание, что это сторонний файл, который я не хочу изменять). Следовательно, очень важно иметь контроль над тем, что «обрабатывается».
Еще один момент, когда мы используем тенденцию объединять наши JS-файлы с помощью диспетчера сценариев, который создает страницы Ashx. Насколько я знаю, не все «все в одном решении» обслуживают это. Также менеджер сценариев уже изменяет заголовки в соответствии с настройками кеша, которые я для него настраиваю.
Другой пример со сжатием состоит в том, что если у вас много трафика в зависимости от типа и размера разрываемого содержимого, вы хотите использовать разные уровни сжатия. Мне кажется, я помню пост Джеффа Этвуда, в котором рассказывалось о том, через что они прошли для SO, и о том, что им нужно было значительно контролировать сжатие.
Другой пример - кеширование. Особенно, если вы хотите заняться кэшированием пончиков или бубликов, это не имеет ничего общего с IIS и заключается в том, как все могут кэшировать различные части страницы - как это может кэшировать главную страницу, но не динамическое содержимое самой страницы. ... afaik нет "все в одном решении" обслуживать это.
Таким образом, я склонен обнаруживать, что мне нужно больше контролировать происходящее, и я предпочитаю, чтобы минификация происходила во время процесса сборки (поскольку вы точно знаете, что получаете, когда запускаете свое приложение). Сжатие происходит на уровне IIS, но мне нравится иметь возможность контролировать его на уровне приложения. Любые случаи для кэширования или сжатия я просто контролирую через веб-конфигурацию, которая позволяет много контроля. Так что я думаю, что все в одном, если у вас есть что-то простое, но если вам нужно больше контроля, то вам все равно придется делать это в приложении.
Надеюсь, это поможет.
UPDATE:
Только что подумал: настроить все эти вещи на уровне приложения очень просто, если вы используете ASP.net MVC, но манипулировать заголовками и т. Д. В классическом ASP.net может быть намного сложнее. Следовательно, в некоторых случаях, если вы имеете дело со старым приложением, использующим классический ASP.net, может быть проще использовать решение «все в одном».