Я работаю над приложением, связанным со спортивными событиями.Существуют различные типы событий, такие как футбольный турнир и теннисный турнир.В зависимости от типа турнира, я хочу, чтобы запросы обрабатывались в другой области.Но события и их тип турнира настраиваются пользователями приложения и хранятся в базе данных.
В настоящее время у меня есть это подтверждение концепции:
public class SoccerTournamentAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "SoccerTournament";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
var soccerTournaments = new string[] { "championsleague", "worldcup" };
foreach (var tournament in soccerTournaments)
{
context.MapRoute(
string.Format("SoccerTournament_default{0}", tournament),
string.Format("{0}/{{controller}}/{{action}}/{{id}}", tournament),
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "Mvc3AreaTest1.Areas.SoccerTournament.Controllers" }
);
}
}
}
, и это работает только, я хочу, чтобы soccerTournaments поступали из базы данных (не проблема), но я также хочу, чтобы она работала, спросите,новая запись типа события / турнира добавляется в базу данных, и в этом случае это не работает.
Как сделать выбор области динамическим, а не жестко закодированным в маршруты?