Вот моя дилемма. У меня есть набор сущностей, которые я хочу использовать для определения в качестве отправной точки для набора маршрутов. Например, я хочу предоставить всем пользователям на моем сайте свои собственные «дочерние сайты» в форме mydomain.com/username, а затем повесить на них все действия UserController.
Вот пример того, что я делаю:
У меня есть «UserController» с такими методами действий, как «Index», «Profile» и «Bio».
public ActionResult Profile( int UserID )
{
User u = User.SingleOrDefault(u => u.UserID == UserID);
return View(u);
}
В методе RegisterRoutes () я делаю это:
foreach (User user in User.Find(u => u.Active == true))
{
routes.MapRoute(
"",
user.UserName + "/{action}",
new { controller="User", action="Index", UserID=user.UserID }
);
}
Это работает, и работает именно так, как я хочу:
domain.com/[username]/Profile
domain.com/[username]/Bio
теперь являются действующими рабочими маршрутами, и они могут принимать идентификатор пользователя в качестве параметра метода в контроллере, поскольку каждый пользователь получает свой собственный маршрут. Кроме того, маршруты по умолчанию все еще работают. Yay.
Мой вопрос: это безумие? Я создаю запись в таблице маршрутов для каждого пользователя в системе. Сколько маршрутов это слишком много? Это убьет мой сервер, если будет более 10 пользователей? 50? 1000
И если этот безумен, как еще я мог бы достичь этой цели?
Заранее спасибо. Я с нетерпением жду каких-то отзывов от улья.