Вы можете использовать Интерфейс IPageRouteModelConvention , чтобы поставить перед каждым маршрутом префикс с параметром маршрута, представляющим арендатора.Создайте класс, который реализует интерфейс, а затем переопределите метод Apply
, что-то вроде следующего (не проверено):
public class CustomPageRouteModelConvention : IPageRouteModelConvention
{
public void Apply(PageRouteModel model)
{
foreach (var selector in model.Selectors.ToList())
{
selector.AttributeRouteModel.Template = "{tenant}/" + selector.AttributeRouteModel.Template ;
}
}
}
Затем зарегистрируйте свою реализацию в ConfigureServices
:
services.AddMvc().AddRazorPagesOptions(options =>
{
options.Conventions.Add(new CustomPageRouteModelConvention());
})