2015-04-05 4 views
2

Я смущен о asp.net mvc seletor & фильтр.Разница между asp.net mvc Selector и фильтром?

Как известно, существует 5 типов фильтров: аутентификация, авторизация, действие, результат, исключение.

Однако есть еще один «фильтр»: селектор действий.

Базовые классы различны, а также: ActionMethodSelectorAttribute и FilterAttribute

Может кто-нибудь сказать мне, что разница между селектором & общего фильтра?

спасибо.

ответ

0

Селекторы действий просто определяют, какое действие нужно выполнить (например, HTTP-глаголом, используемым для запроса).

Фильтры некоторые другие цели - действия Фильтры запуска кода до или после того, как действие, фильтры исключений запускает код на исключения, фильтры аутентификации используются для кода realted аутентификации и т.д.

+0

спасибо. Теперь я знаю, что они в разных областях. Селекторы действий - это просто своего рода нормальные атрибуты. – Xin

0

Сегодня я только красный материал, иллюстрирующий этот связанный вопрос.

Внутри MVC Framework, это выглядит примерно так:
---- ControllerFactory
---- Контроллер выбран и экземпляр (с помощью Dependency резольвера)
---- Вызов controller.Execute (RequestContext)
-------- ActionInvoker (по умолчанию: ControllerActionInvoker)
-------- this.ActionInvoker.InvokeAction (ControllerContext, ActionName)
--------- --- Выберите метод действия (задействованные селекторы)
------------ Аутентификация & фильтров авторизации
------------ привязка к модели
------------ активировать действие с помощью фильтров действий
---------- --authentication вызова (IAuthenticationFilter)
------------ Выполнить результат с результатом фильтрами
---- контроллер утилизацией

См, селектор и фильтр полностью в другой области, хотя оба они используются в actionInvoker.

Смежные вопросы