Недавно я был нанят для обновления сайта ASP.NET 1.0, созданного до того, как были доступны основные страницы. Следовательно, страницы содержат серверную часть (ssi), например <!-- #include file="footer.html" -->
. Я собирался обновить страницы * .aspx с главной страницей, содержащей ранее разметку в ssi. Я убежден, что это правильно, особенно с точки зрения ремонтопригодности. Однако сотрудник уверенно считает, что производительность будет страдать, поскольку, по-видимому, ssi - очень «легкий» метод (его слова не мои). Я не могу найти много информации об эффективности одного метода в сравнении с другим. И если есть, я считаю, что другие преимущества мастер-страниц и веб-элементов управления будут еще важнее. Твои мысли?Server Side Includes vs. ASP.NET. Есть ли разница в производительности?
ответ
В случае небольшой статической страницы, я не знаю, она, вероятно, довольно близка по производительности. Вы можете запустить тест нагрузки, чтобы получить некоторые жесткие цифры и узнать.
Тем не менее, на самом деле нет недостатка к использованию главной страницы, и есть целые много преимуществ , насколько дизайн и управление идти.
SSI будет медленнее, так как каждый вызов - это запрос, не относящийся к процессу. Мастер-страницы скомпилированы и очень быстрые в процессе действия.
Технически SSI, вероятно, немного быстрее, потому что вложения вставляются на страницу и скомпилированы в один класс. MasterPages немного медленнее, потому что каждый из них скомпилирован в свой собственный класс, и страница должна будет загрузить экземпляр этого класса.
Для всех практических целей прирост производительности, вероятно, почти ничтожен, и преимущества MasterPage и веб-элементов управления, вероятно, компенсируют любую потерю производительности.
Назад в ASP.Net 1.0 и 1.1 дня, многие люди будут использовать UserControls (ASCX), а не включить по этой причине. Если вы используете 2.0+ и можете использовать мастер-страницы, это лучший вариант для этого сценария, на мой взгляд. – JamesEggers