3 главных причины не разрабатывать «систему блогов», которая генерирует файлы aspx на лету - PullRequest
8 голосов
/ 10 марта 2010

В этом вопросе ОП подразумевает, что он хочет основать систему блогов, которую он разрабатывает, на автоматическом создании файлов .aspx, по одному на каждую новую запись в блоге. В своем ответе на его вопрос (который связан с чем-то другим) я сказал ему, что буду отговаривать его от использования такого подхода, но без объяснения причин. Теперь ему нужны причины, по которым это не очень хорошая идея, и я использую этот вопрос, чтобы посмотреть, сможет ли сообщество придумать достаточно убедительный список причин, по которым он может использовать другой подход, например, использующий код dbms. - повторное использование, перезапись URL, MVC, а что нет.

Ответы [ 3 ]

8 голосов
/ 10 марта 2010

Создание отдельных файлов ASPX для каждой статьи неэффективно использует ресурсы сервера:

  • каждый новый файл aspx будет скомпилирован в DLL. Это означает дополнительные накладные расходы времени выполнения для компиляции статьи + накладные расходы памяти через воссоздание нового домена приложений, который содержит эту новую DLL

  • можно настроить ASP.Net для компиляции всех файлов ASPX в один файл DLL, но это будет еще хуже: ВСЕ статьи придется перекомпилировать каждый раз при создании новой статьи

Более приемлемым решением (но даже тогда, а не тем, которое я бы порекомендовал) было бы создание статических файлов .html.

7 голосов
/ 10 марта 2010

.aspx страницы предназначены для динамического генерирования html (и javascript и т. Д.). Либо один и тот же небольшой набор страниц .aspx должен генерировать выходные данные для всех записей блога (хранящихся в последовательности полей), либо (по соображениям производительности) предварительно сохраненный html может храниться на страницах db (best) или .html.

Создание страницы .aspx для каждой записи в блоге создает инструмент для создания контента. Это не имеет смысла для любого нормального. В этой системе будут ненужные накладные расходы. Не зная его точного плана , я все еще могу быть уверен, что применимо по крайней мере некоторое из следующего:

  • дублирование кода на страницах .aspx, большие трудности с обновлением макета / поведения сайта
  • существенные и ненужные накладные расходы из-за того, что IIS приходится обрабатывать и постоянно перекомпилировать много дополнительных .aspx страниц.
  • поиск будет кошмаром, так как содержимое будет в файлах . Сложно настроить, и он никогда не будет эффективным.
  • редактирование, добавление комментариев, модерация будет. , , действительно трудно.
  • безопасность будет сложной
5 голосов
/ 10 марта 2010

Существует два вида публикаций CMS:

  • Те, кто генерирует контент статически . Некоторые издательские платформы генерируют контент статически. В этом случае сгенерированные файлы не являются динамическими и должны быть файлами HTML. Система должна иметь возможность регенерировать все, например, если шаблон изменился. Было время, когда у этого решения были некоторые преимущества:
    • security : безопасность управляется на уровне файловой системы
    • search : полнотекстовый поиск был прост, потому что все было на основе файла
    • производительность : использует меньше ресурсов процессора.
    • интерактивность : невозможно
    • распространение контента : единственная причина, по которой сейчас нужно создавать или выбирать такую ​​платформу, заключается в том, что контент необходимо распространять через другой канал, кроме Интернета , например CD, загружаемый журнал и т. Д.

.

  • Те, кто отображает содержимое динамически . Для веб-сайта самый простой способ - это динамическое отображение страницы.
    • безопасность : безопасность может быть проверена по сложной схеме и т. Д.
    • search : поисковая система развивалась и теперь прекрасно интегрируется с разнородными источниками: может содержать полный текст в базе данных, файлах и т. Д.
    • производительность : это больше не проблема.
    • интерактивность : это намного более гибко: контент может быть адаптирован для посещающего пользователя, люди могут оценивать страницу, добавлять комментарии и т. Д.
    • распространение контента : должен быть онлайн, конечно же

Гибридная система, в которой вы генерировали статически файл, который будет отображаться динамически (.aspx), для меня не имеет смысла - у него есть недостатки обоих.

...