Почему Asp.net web api контроллеры не производны от IController

В ASP.net MVC4 есть "новая" концепция веб-интерфейса API для раскрытия функциональности CRUD в вашей модели данных. Базовым классом для этих контроллеров является DataController, который происходит от ApiController.

К сожалению, этот ApiController не является производным от IController, что является проблематичным, поскольку эти запросы не могут быть обработаны через вашу обычную фабрику пользовательских контроллеров, так как они должны возвращать экземпляр IController.

Кто-нибудь знает причину этого, поскольку я не могу понять, зачем вам иметь контроллер в вашем MVC-проекте, который не является производным от IController, так как это ломает вашу фабрику пользовательских контроллеров, поскольку она не может инстанцировать каждый отдельный контроллер в вашем проекте.

Короче говоря, из-за такого наследования вы не сможете использовать свой DI-контейнер для инъекции зависимостей.

7
задан thekip 29 February 2012 в 09:09
поделиться