Существуют ли потенциальные риски при использовании рекурсивных частичных представлений для отображения древовидной структуры в представлении Razor? - PullRequest
0 голосов
/ 16 мая 2018

Мой вопрос

Мой вопрос не о том, как сделать следующее (рендеринг древовидной структуры с использованием Razor), на который я нашел много ответов. Мои вопросы касаются базового управления памятью и потенциальных рисков данного решения:

Мое решение до сих пор (то, что я также нашел как общее решение) использовать частичное представление (Razor) (или подобное) и вызывать его рекурсивно. Но является ли использование рекурсии по неизвестному количеству узлов (означающее неизвестное число вложенных циклов и вызовов методов) безопасным (или хорошим) решением?

Мои вопросы:

  • Существуют ли потенциальные риски управления памятью (риски переполнения стека, экстремального времени загрузки или тайм-аута запроса и т. Д.), Когда число узлов и дочерних узлов не определено?
  • Если так, есть ли лучшее решение?

Различные сценарии будут выглядеть примерно так:

  • Максимальная глубина дерева: 5
  • Поддерево / дочерние узлы любого узла будут достигать приблизительно от 0 до 40 узлов

_LocationTreeRowPartial.csthml

<ul>
    <li>

        // Some code like name of node etc.

        @foreach (var row in Model.Children)
        {
            @Html.Partial("PartialViews/_LocationTreeRowPartial", row)
        }

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