Мы написали метод расширения бритвы, чтобы использовать его в представлении vbhtml, которые делают переводы статических, неперечисленных, не сгенерированных элементов, т.е. заголовков, статических элементов навигации и т. Д.:«Lazy» MVC5 Выполнение бритвы - ASP.NET (оптимизация)
<h1>@Html.GetTagText("aaa"(real string), cultureCode, translationContext)</h1>
с этой идеей мы генерируем X-вызовы DB, каждый раз, когда мы вызываем этот метод.
Вопрос: Есть ли событие, поднятый Razor Engine, прежде чем преобразовать и после преобразования или somekind из EntryPoint на странице жизненного цикла ASP.NET (до визуализации, после визуализации), который позволит нам:
- Collect все getTagText звонков в список
- сделать остальную часть бритвы работы
- вернуть все переводы в одном DB стрелять
- пут/заменить правильные переводы в правильные места
или, может быть, я думаю, что это не так, и бритва не является хорошим местом для такого рода «магии»? Мне нужна общая идея, что-то, что я напишу один раз, чтобы не воспроизводить это в каждом контроллере.
Замечание: в общем случае плохая идея делать медленные синхронные вызовы ввода-вывода из представления ... и вы не можете делать асинхронные вызовы из представления до ASP.NET MVC6 (2016) - см. Информацию о [MVC6 - просмотреть компоненты] (http://www.asp.net/vnext/overview/aspnet-vnext/vc). –