У меня есть проект ASP.net MVC в работе на данный момент, и мне интересно, возможно ли следующее: У меня есть собственный класс ModelBinder, который имеет ссылку на службы (по существу, получателя) в качестве зависимости. Я хочу, чтобы зависимость была введена с использованием контейнера IoC (в настоящее время Ninject), но, похоже, нигде в цепочке методов я не могу подключить что-то, что говорит о загрузке привязки модели из моего контейнера IoC.Ввод зависимости в пользовательский ModelBinder
Моя первая мысль состоит в том, чтобы иметь универсальное связывание объектов, которое затем пытается извлечь конкретный ModelBinder из контейнера, возвращая null, если не найден, а затем stetting это как связующее, то есть что-то вроде: ModelBinders.Binders. Добавить (TYPEOF (объект), TypeOf (NinjectModelBinder));
, но я не уверен
- а) если это будет работать
- б), если это действительно то, что нужно сделать
Я не мог отказаться от решения сложного объекта до метод действия, но было бы более чистым и более желательным обеспечить сложный объект (который по существу загружен и построен с уровня доступа к данным) в качестве параметра для действия.
Любые мысли/помощь оцениваются.
Я лично думаю ModelBinders, которые создаются с помощью ModelBinderAttribute должен быть инъекционным тоже. Я думаю, что это ошибка дизайна текущей версии MVC. – CVertex