Когда использовать Помощников вместо Partials

Представьте, что вы выполняете этот код в веб-запросе, при вызове метода поиска поток запроса будет заморожен до тех пор, пока результат возврата базы данных не будет вызван вызовом синхронизации, если это длинная операция с базой данных, для которой требуется несколько секунд, вы будете есть один из потоков, доступных для обслуживания веб-запроса, ничего не делая, просто ожидая, что база данных вернет результаты и потратит впустую ценные ресурсы (количество потоков в пуле потоков ограничено).

С FindAsync поток вашего веб-запрос будет бесплатным, пока ожидает базы данных для возврата результатов, это означает, что во время обращения к базе данных этот поток может посещать другой веб-запрос. Когда база данных возвращает результат, код продолжает выполнение.

Для длительных операций, таких как чтение / запись из файловой системы, операции с базой данных, общение с другими службами, рекомендуется использовать асинхронные вызовы. Поскольку пока вы ожидаете результатов, потоки доступны для обслуживания другого веб-запроса. Это более масштабируемо.

Взгляните на эту статью Microsoft https://msdn.microsoft.com/en-us/magazine/dn802603.aspx .

45
задан Pablo Fernandez 30 December 2008 в 11:42
поделиться

4 ответа

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

30
ответ дан tvanfosson 23 September 2019 в 10:51
поделиться

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

, Как Вы знаете, контроллеры для обработки логики. Неизбежно, однако, что Вам будет нужна некоторая обработка логики при представлении представления. Так, например, если у Вас есть некоторая часть представления, которая только доступна администраторам, Вы могли бы извлечь ту логику помощнику и сохранить представление "чистым" и только для представления. Помощники будут неизбежно содержать код представления - теги HTML и такой - но это - побочный продукт их использования, не их первичной функции.

можно также объединить два - частичное для администраторского представления и другой для пользовательского представления и помощника с логикой для определения, какой представляется в конкретной ситуации.

Просто мои.02$.

18
ответ дан Yardboy 23 September 2019 в 10:51
поделиться

Я использую помощников, когда код, вероятно, будет использоваться снова в других проектах и partials для кода, характерного для проекта.

2
ответ дан anithri 23 September 2019 в 10:51
поделиться

Я использую partials в качестве подшаблонов (т.е. что-то с большим количеством разметки, которая привыкает снова и снова, как аннотация сообщения в блоге), и помощники для обработки дисплея больше логических-y вещей (отделение, это только видимо администраторам, например).

2
ответ дан zenazn 23 September 2019 в 10:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: