В чем преимущество компоновки и минимизации ASP.NET во время выполнения?

Я понимаю, как использовать новые функции связывания и минимизации asp.net. Они полезны во время разработки.

Есть ли какая-либо польза для их использования в производственном развертывании? Будет ли система работать лучше, если вы просто разместите связанные/минированные файлы на веб-сервере? Кажется, что в целом, меньше кода будет работать, если бы они были просто статическими файлами.

Примечание. Я понимаю, что js/css поставляется в комплекте и минимизируется. Я просто задаю вопрос о том, как использовать активный процесс выполнения для создания этих файлов в производственной системе, а не просто хранить их на диске и ссылаться на них как на статические файлы.

Ответ 1

Объединение и минимизация более полезны в производстве, чем в разработке. Это может значительно улучшить время загрузки вашей первой страницы.

  • Объединение сокращает количество отдельных HTTP-запросов на сервер путем объединения нескольких файлов CSS и файлов Javascript в один файл CSS и javascript.

  • Minification уменьшает размер загрузки файла CSS и javascript файлов, удаляя пробелы, комментарии и другие ненужные символы.

Такие небольшие преимущества более выражены в производственной среде, чем в разработке. Поэтому лучше работать с Bundling и Minification в производстве.

Специфично для вашего вопроса нет ощутимого преимущества при связывании/минимизации во время выполнения. Эта функция позволяет упростить работу разработчика. Так что еще лучше пойти с ручными вложенными/уменьшенными активами в производство, если вы уверены в том, что делаете.

Update:  Согласно MSDN, реальная выгода при связывании/минимизации во время выполнения

Связывание и минимизация в ASP.NET 4.5 выполняется во время выполнения, чтобы процесс мог идентифицировать пользовательский агент (например, IE, Mozilla и т.д.) и, таким образом, улучшить сжатие путем ориентации на браузер пользователя (например, удаляя материал, специфичный для Mozilla, когда запрос поступает из IE).

Сила динамического связывания заключается в том, что вы можете включить статический JavaScript, а также другие файлы на языках, которые компилируются в JavaScript.

Например, CoffeeScript - это язык программирования, который компилируется в JavaScript

Ответ 2

Minification - уменьшенные файлы, меньше kb на проводе, более быстрая загрузка страницы.

Связывание браузеров ограничивает соединение для каждого хоста. Это означает, что пользователь переходит на вашу страницу, и у вас есть (скажем) 24 script и теги link (css), ваш браузер обрабатывает их 6 (большинство ограничений браузера) за раз, замедляя загрузку страницы. Объединение делает браузер обрабатывать все ваши файлы одним файлом - переопределяя это ограничение.

Ответ 3

Связывание и минимизация обеспечивают две основные функции, чтобы повысить производительность загрузки страницы.

Связывание. Свяжите все предоставленные сценарии /CSS в одном файле, чтобы только браузеру нужно было загружать один файл вместо нескольких.
Примечание. → . В общем случае браузеру может потребоваться только 6 одновременных запросов на получение ресурсов с сервера. Дополнительные запросы помещаются в очередь браузером для последующей обработки. Следовательно, если у нас есть несколько файлов, то, возможно, придется ждать в очереди запросов.

Minification. Процесс Minification генерирует мини файл, удаляя комментарии, лишние пробелы и переименовывая имена переменных. Таким образом, это уменьшает размер файла и приводит к более быстрой загрузке.

Ответ 4

Еще одно преимущество объединения - это сокращение проблем кэширования. Когда мы используем привязку своей загрузки к странице с помощью ключа, как показано ниже.

<script src="/bundles/jquery?v=FVs3ACwOLIVInrAl5sdzR2jrCDmVOWFbZMY6g6Q0ulE1"></script>

Каждый раз, когда мы меняем наши скрипты, он генерирует другой ключ. Таким образом, файл будет кэшироваться, если мы что-то изменим. Но когда мы не используем это, так как файл script имеет одно и то же имя, иногда нам нужно очистить кеш, чтобы увидеть изменение.