Урок устарел.Структура проекта, кажется, изменилась.
Umbraco v8 все еще довольно новый, и, как вы сказали, большая часть документации устарела.Вы можете проверить текущее состояние документации здесь .
Кроме этого, вы можете загрузить исходный код из Git и проверить, как это делается, но этодействительно может занять много времени.
- Я не знаю, как переписать маршрут после перемещения контроллера
Если я правильно понял, вы хотитеиметь собственный контроллер с собственным маршрутом.
Umbraco имеет собственную реализацию global.asax и перезаписывает маршруты по умолчанию.Обычный класс маршрутизации не выполняется, вы должны добавить свои маршруты при запуске приложения.
Мне удалось сделать это с помощью создания User Composer .Пользовательские композиторы сочиняют после основных композиторов и до финального композитора.(Ниже я создаю IComposer
, но IUserComposer
также должен работать.)
public class ApplicationEventComposer : IComposer
{
public void Compose(Composition composition)
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
В этом вы можете зарегистрировать свой собственный RouteConfig, Bundles и т. Д. Просто будьте осторожны, это легкоиспортить маршрутизацию Umbraco ...
Вот пример добавления нового контроллера под названием TestController:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Test",
url: "Test/{action}/{id}",
defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
);
}
}