Влияет ли добавление кода на стороне сервера на странице разметки (aspx) на производительность? - PullRequest
3 голосов
/ 17 ноября 2011

На моей предыдущей работе наш архитектор команды был категорически против включения любого кода на стороне сервера в разметку, даже простых идентификаторов, поэтому этот код не будет допущен для проверки:

<script>
    var el = document.getElementByID('<% SomeElement.ClientID %>')
</script>

вместо васдолжен был внедрить его в javascript через Page.ClientScript.Register ...

Его причина заключалась в том, что asp.net должен перекомпилировать страницу каждый раз, если он содержит код этого сервера.

Это звучит неправильно для меня, но я не смог найти ни одного доказательства.

Есть идеи?Это меняет производительность или нет?Я знаю, что серверный код в разметке не очень хорош из-за трудностей в отладке и удобочитаемости, а также из-за отдельной идеи разметки форм gcode, но меня интересуют только различия в производительности.

Спасибо!

Ответы [ 2 ]

11 голосов
/ 17 ноября 2011

Ваш архитектор не прав.

ASP.NET компилирует страницу один раз, независимо от того, содержит ли она какой-либо код C #. Он перекомпилирует страницу, только если обнаружит, что файл ASPX был изменен с момента последней компиляции.

0 голосов
/ 17 ноября 2011

Используйте инструмент профилирования (например, dotTrace от JetBrains), чтобы окончательно сообщить вам показатели производительности. Напишите 2 страницы ... одну с серверной частью, а другую без серверной ... и проверьте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...