Я пишу область для администрирования нескольких дочерних сайтов, почти все функции будут одинаковыми для каждого сайта (добавление / редактирование / удаление страниц и т. Д.), И мой репозиторий при создании экземпляра принимает SiteIdentity, поэтому все методы доступа к данным являются независимымипо отношению к этому.Проблема, с которой я столкнулся на данный момент, заключается в том, чтобы сделать мои методы действий также независимыми.
Шаблон URL, который я хочу использовать, выглядит следующим образом:
"ExternalSite/{identity}/{controller}/{action}/{id}"
Наивный подход заключается в том, чтобы каждое действие принимало параметр identity, но это означает, что необходимо передавать это в мой репозиторий для каждого действия, а также включать его в ViewData для пары элементов пользовательского интерфейса.Я бы предпочел, чтобы это происходило однажды в контроллере, например в его конструкторе.
Каков наилучший способ сделать это?В настоящее время лучшее, что я могу придумать, это попытаться найти и привести личность из словаря RouteData, но часть меня считает, что должно быть более элегантное решение.