Текущий код ASAX (упрощенно):Создание маршрутов из БД записей
void Application_Start(object sender, EventArgs e)
{
// Enable routing
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.Add("ContactUsRoute",
new Route("contact-us",
new PageRouteHandler("~/contactus.aspx")));
}
Вопрос
Безопасно ли тянуть маршруты из БД в этот момент? Например:
void RegisterRoutes(RouteCollection routes)
{
routes.Add("ContactUsRoute",
new Route("contact-us",
new PageRouteHandler("~/contactus.aspx")));
// BusinessLogic.GetPageRoutes() returns a List<Route>
var dbRoutes = BusinessLogic.GetPageRoutes();
foreach (Route route in dbRoutes)
{
routes.Add(route);
}
}
Прочая информация
Этот вопрос рождается из-за отсутствия знаний о маршрутизации, а также общее незнакомство с global.asax
. Раньше я использовал global.asax
для чрезвычайно простых задач; DB чувствует, как будто я перехожу на другой уровень.
Почему это небезопасно? Иными словами, что побудило вас думать, что это может быть и задать этот вопрос? – Yuck
+1 Я тоже хотел бы знать! Но с другой стороны: где еще вы должны регистрировать маршруты? Конечно, «try..catch» - хорошая идея. –
@Yuck, большой вопрос. См. Дополнительную информацию. Я бы добавил, что недавнее изменение позиции делает меня единственным разработчиком в организации. Время от времени может быть трудно не дать кому-то отказаться от идей. –