1 回答
TA贡献2041条经验 获得超4个赞
Umbraco8 中没有,他们用User ComposersIApplicationEventHandler
代替了它
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 }
);
}
}
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报