使用 MVC 安装 Umbraco 后无法路由

Unable to route after installing Umbraco with MVC

我最近在现有网站上安装了 Umbraco CMS。就安装而言,一切似乎都很好。

但问题是我现在无法浏览我现有的网站。我在 RouteConfig.cs 中定义的路线没有命中,而是从其他地方选择的路线。

有人可以帮我解决这个问题吗?当前路由从哪里开始,我如何配置它以使用我现有的路由?

在 Umbraco 中,您可以将自定义 MVC 路由放在继承自 IApplicationEventHandler 的 class 中。

使用来自 shazwazza.com 的示例代码:

public class MyStartupHandler : IApplicationEventHandler
{
    public void OnApplicationStarted(
        UmbracoApplicationBase umbracoApplication, 
        ApplicationContext applicationContext)
    {
        //Create a custom route
        RouteTable.Routes.MapRoute(
            "test",
            "Products/{action}/{id}",
            new
                {
                    controller = "MyProduct", 
                    action = "Product", 
                    id = UrlParameter.Optional
                });           
    }

    public void OnApplicationInitialized(
    UmbracoApplicationBase umbracoApplication, 
    ApplicationContext applicationContext)
    {
    }

    public void OnApplicationStarting(
        UmbracoApplicationBase umbracoApplication, 
        ApplicationContext applicationContext)
    {
    }
}

此代码覆盖 ApplicationStarted 方法。从这里,您可以添加您的自定义路由逻辑,Umbraco 将在它的启动序列中选择它。