2012-01-03 5 views
1

У меня есть пары страниц, которые являются Q & A, baiscally только для справки, они не могут добавить вопрос или ответ. Ответ не будет отображаться, пока этот вопрос не будет быть нажата, а Q & А отформатирована в формате, который будет жирным шрифтом Вопрос, подчеркивание и т.д.Создание динамического управления против производительности статического контроля?

Эти Q & А не собирается менять много, но для разные клиенты у них будут разные Q & A.

Предыдущий разработчик сделал все Q & A, чтобы показать и скрыть серверную сторону и статично на странице.

мышления в будущем, когда я создаю новый Q & страницы для другого клиента, и мне нужно будет написать подходящий стиль для каждого Q & A (подчеркните на вопрос, полужирное это, перерыв, назначить идентификатор, строку за строкой) ,

Интересно, стоит ли положить все Q & A в текстовый файл, а затем использовать синтаксический анализатор для разбора текстового файла и создания всех Q & Динамически? Поэтому, если мне нужно изменить форматирование для каждого Q & Как он отображается, я могу просто изменить способ создания элемента управления. В этом случае гораздо проще сделать все элементы управления клиентскими.

Но другая вещь, эта страница будет использоваться многими пользователями одновременно. Поэтому мне интересно, будет ли создание динамического управления сильно влиять на производительность страницы? Стоит ли даже делать это динамически?

ответ

2

Производительность не является проблемой до тех пор, пока (1) не будет определена и (2) измерима.

как для динамических, так и для статических файлов. Это действительно зависит от того, насколько простым или сложным вы хотите решение. Если это просто Q & A с форматированием, то html & css имеет гораздо больше смысла, чем решение на стороне сервера.

+0

hmm Я думаю, это правда, прямо сейчас просто образец. Думаю, я просто изменю весь старый скрипт, чтобы связать его с ID, чтобы я мог использовать скрипт css и java. Благодарю. –

+0

Идентификаторы требуются. некоторых обычных html и имен классов будет достаточно, чтобы заставить это работать. –

0

Построение управления динамически звучит как прекрасная идея и не должно вызывать проблемную работу. Чтение данных для вопросов из текстового файла не происходит. Существует множество проблем с этим подходом (параллелизм & блокировка, производительность IO). Вы должны использовать технологию базы данных для хранения и извлечения данных.

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

+0

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

+0

Вы также можете кэшировать из базы данных. Я по-прежнему рекомендую не использовать файл. На основе нагрузки многие приложения могут запускаться одновременно. При наличии доступа к вашему файлу в файловой системе возникают проблемы безопасности, которые лучше всего избегать, если это возможно. Вы заново изобретаете базу данных, пусть кто-то умнее, чем вы беспокоитесь об этом, и используете поставщика баз данных. – Arbiter

0

Динамический заполнитель также позволяет легко добавлять/сохранять элементы управления/управления через стойки обратной связи.

Если эта опция сделает жизнь проще для вас, взгляните на эту библиотеку Dynamic Control

http://www.denisbauer.com/ASPNETControls/DynamicControlsPlaceholder.aspx