Может ли кто-нибудь сказать мне, что pros/concs использует атрибут [ModelBinder()]
и регистрирует привязки модели через ModelBinders.Add()
в global.asax?
Одно из преимуществ, которое я могу придумать, заключается в том, что он более явный, тогда как регистрация в глобальном ModelBinders
не так очевидна для кого-то, проверяющего метод действия.
Один компромисс, о котором я могу думать, заключается в том, что он не может использоваться повторно, поскольку вам придется добавить этот атрибут ко всем методам действий, которые должны использовать это связующее устройство, тогда как регистрация в глобальном ModelBinders
сделает его доступным для всех действий методы, принимающие эту модель.
Разве это единственная разница?
Другими словами, если бы это было правильно:
- Если вы используете модель только в одном методе действий (возможно, два, получите + сообщение), используйте
[ModelBinder()]
. - Если вы используете модель более чем в одном методе действий, зарегистрируйте ее в глобальном
ModelBinders
.