Маршрут ASP.NET Core MVC к URL с параметрами - PullRequest
0 голосов
/ 20 декабря 2018

Я создал веб-приложение, используя ASP.NET Core 2.1 MVC.И в настоящее время у меня есть проблема с маршрутизацией, когда приложение опубликовано.Формат URL, в котором будет опубликовано приложение: https://hostername.com/{some_parameter}

Все сгенерированные URL-адреса из моего приложения должны быть "прикреплены" к вышеупомянутому URL-адресу.

Итак, мне нужна такая маршрутизация:

https://hostername.com/{some_parameter}/{controller}/{action}/{id}

Некоторые примеры:

 - https://hostername.com/ApplicationName/Home/Profile
 - https://hostername.com/ApplicationName/Home/Settings
 - https://hostername.com/ApplicationName/FAQ etc... 

Мое решение для этого после прочтения пары вопросов / решений по stackoverflow: Изменен маршрут по умолчанию на

routes.MapRoute(
                name: "default",
                template: $"{{parameter={settings.PrefixURL}}}/{{controller=Home}}/{{action=Index}}/{{id?}}");

, где settings.PrefixURL => it's the some_parameter и его значение является динамическим.

Проблема, с которой я сталкиваюсь => Удвоенные параметры в URL, например:

- https://hostername.com/ApplicationName/Home/Home/Profile
- https://hostername.com/ApplicationName/ApplicationName/FAQ

При локальном тестировании эта конфигурация маршрутизации по умолчанию работала отлично, но после публикации маршрутизация все еще работает, но URL неверен.Что может быть причиной проблемы?Будет ли создание Областей разрешать маршрутизацию к такого рода URL?

Спасибо.

1 Ответ

0 голосов
/ 16 апреля 2019

Что мне помогло, так это редактирование пути в файле web.config и оставление остальной части души нетронутой.От path="*" до path="/ApplicationName", где ApplicationName - требуемый параметр маршрутизации.

...