Есть ли событие, которое возникает после выполнения View / PartialView в ASP.NET MVC 2 RC2? - PullRequest
1 голос
/ 23 февраля 2010

У меня следующая проблема:

У нас есть приложение ASP.NET MVC 2 RC 2, которое программно олицетворяет учетную запись AD, которую пользователь указывает при входе в систему. Эта учетная запись используется для доступа к БД. Сначала у нас был олицетворяющий код в begin_request, и мы отменяли олицетворение в end_request, но когда мы попытались использовать IIS 7.5 в интегрированном режиме, мы узнали, что невозможно выполнить олицетворение в Global.asax, поэтому мы пробовали разные вещи .

Мы успешно переместили наш код из BeginRequest в событие ActionExecuting, а EndRequest в ResultExecuted, и теперь около 80% нашего кода работает.

Мы только что обнаружили, что, поскольку мы передаем объекты Entity Framework в качестве моделей для наших представлений, эти оставшиеся 20% не будут работать, поскольку некоторые свойства навигации не загружаются, когда представление начинает свое выполнение, поэтому мы получаю исключения подключения от Sql Server.

Есть ли какое-либо событие или метод, который выполняет ПОСЛЕ представления, чтобы мы могли отменить олицетворение в нем? Мы думали, что ResultExecuted сделает это, но это не так.

Нам сказали, что передача простых сущностей в представление в качестве моделей не является хорошей идеей, но у нас МНОЖЕСТВО представлений, которые могут иметь эту проблему, и нет автоматизированного способа узнать это. Если некоторые из вас могут объяснить, почему это не очень хорошая идея, возможно, мы сможем убедить команду исправить это!

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