В настоящее время я обнаружил, что наиболее удобно иметь отдельный метод public static void RegisterRoutes(RouteCollection routes)
на каждом из моих контроллеров.Затем в Global.asax RegisterRoutes
я вызываю все эти методы.
Конечно, это быстро выходит из-под контроля.Каждый раз, когда я добавляю новый контроллер, мне нужно идти и обновлять RegisterRoutes
с помощью шаблонного вызова MyNewController.RegisterRoutes(routes)
.
Мой первый инстинкт - сделать так, чтобы все мои контроллеры были получены из некоторого абстрактного ControllerBase
, который имеетопределен метод RegisterRoutes
, затем используйте какое-то отражение, чтобы найти все ControllerBase
-подклассы и вызвать их статический метод.
Мой второй инстинкт был в том, чтобы понять, что это, вероятно, решенная проблема, тем более что это звучитподозрительно, как этот материал типа IoC, о котором я начал узнавать совсем недавно.Таким образом, после того, как некоторые Googling действительно ничего не нашли (возможно, из-за плохих ключевых слов), я решил спросить StackOverflow.