#.net #asp.net #visual-studio #publish #precompile
#.net #asp.net #visual-studio #опубликовать #предварительная компиляция
Вопрос:
При загрузке веб-сайта из Visual Studio 2008 появляется диалоговое окно с некоторыми параметрами. Один из них — «Использовать фиксированные наименования и одностраничные сборки».
У нас это не включено, но каковы плюсы и минусы этой опции? Есть ли разница в производительности или что-то еще? Следует или не следует это использовать?
Без этой опции мы получаем 774 файла в папке bin после публикации, когда мы проверяем это, мы получаем 1320 файлов, потому что каждый ascx получает свою собственную dll.
Если мы проверим это, исправлены ли «фиксированные имена» только на моем компьютере? Или это то же самое, когда коллега публикует веб-сайт?
Ответ №1:
Сборки с фиксированными именами обеспечивают гибкость при обновлении на уровне страницы. Поскольку каждая страница будет иметь свою собственную именованную сборку (вместо случайного имени), приложение легко обновить, просто обновив необходимую сборку. Недостатком является большое количество сборок (трудных в обслуживании), а также небольшое снижение производительности.
Для получения более подробной информации ознакомьтесь с этой статьей: http://msdn2.microsoft.com/en-us/library/ms229863 (VS.80).aspx
Источник ответа: http://forums.asp.net/t/1057767.aspx
Из статьи MSDN:
Исправлены имена сборок Некоторые сценарии, такие как развертывание веб-приложения с помощью установщика MSI Windows, требуют использования согласованных имен файлов и содержимого, а также согласованных структур каталогов для идентификации сборок или параметров конфигурации для обновлений. В этих случаях вы можете использовать параметр -fixednames, чтобы указать, что ASP.NET Средство компиляции должно компилировать сборку для каждого исходного файла вместо использования, где несколько страниц компилируются в сборки. Это может привести к большому количеству сборок, поэтому, если вас беспокоит масштабируемость, вам следует использовать этот параметр с осторожностью.
Комментарии:
1. Что такое «небольшое снижение производительности»? это заметно? и я все еще не знаю, может ли коллега также выполнить обновление одной страницы, или мне всегда нужно публиковать с того же компьютера?
2. Зависит от вашего приложения / ситуации. Меньше DLL — это меньшая гибкость / больше dll — это снижение производительности, потому что нужно загрузить больше. На голландском языке мы говорим «meten — это weten»… измерить — значит знать. Вам нужно посмотреть, что приемлемо в вашей ситуации.