Поскольку у вас есть приложения (для каждой среды) на вашем веб-сайте IIS (а не одно приложение в маршруте), ASP.NET MVC учитывает это при создании URL-адресов в Url.Content .
Если вы хотите сохранить приложения на своем веб-сайте, вы можете переписать URL-адреса на уровне брандмауэра (если ваш брандмауэр поддерживает это), на уровне IIS (перезапись URL-адресов) или путем реализации альтернативы Url.Content.Благодаря доступному источнику вы можете увидеть, как это делает инфраструктура MVC, и большая часть работы выполняется в классе PathHelpers .
Конечно, если у вас есть дополнительная работа дляразработать / протестировать / поддерживать ваши правила перезаписи или альтернативный код генерации URL.Я считаю, что нужно разделить ваши приложения, чтобы у вас было отдельное приложение / среда для каждого веб-сайта IIS, чтобы у вас не было такого дополнительного бремени.