MapAreaControllerRoute неожиданное поведение - PullRequest
0 голосов
/ 06 марта 2020

У меня есть область с именем "www" и маршрут, определенный как

endpoints.MapAreaControllerRoute(
    name: "www-cms",
    areaName: "www",
    pattern: "{area:exists}/{pageName?}",
    defaults: new { controller = "Cms", action = "Index" });

У меня нет других маршрутов, определенных (как часть этого примера).

Если я go в /www/ работает как положено, но также совпадает с /, чего я не понимаю. Я могу исправить это, заменив {area:exists} на жестко закодированный www, но какой смысл в {area:exists}, который есть во всей документации?!

Чтобы добавить еще немного безумия к этому, если затем объявить явный маршрут как этот

endpoints.MapAreaControllerRoute(
   name: "www-cms-root",
   areaName: "www",
   pattern: "{pageName?}",
   defaults: new { controller = "Cms", action = "Index" });

Он не работает вообще. Я должен указать area = "www" в настройках по умолчанию, чтобы сделать эту работу.

Может кто-нибудь пролить свет на то, что происходит с маршрутизацией конечной точки этой области? А какая разница с MapControllerRoute?

...