Я понимаю, что в ASP.Net DynamicData (и, возможно, в обычном ASP или MVC) я могу предоставить свой собственный RouteHandler
routes.Add(new DynamicDataRoute("{table}/{action}.aspx") {
RouteHandler = new CustomRouteHandler()
});
public class CustomRouteHandler : DynamicDataRouteHandler
{
public override IHttpHandler CreateHandler(DynamicDataRoute route, MetaTable table, string action)
{
// what kind of cool stuff should I add in here?
return base.CreateHandler(route, table, action);
}
protected override string GetCustomPageVirtualPath(MetaTable table, string viewName)
{
// what kind of cool stuff should I add in here?
return base.GetCustomPageVirtualPath(table, viewName);
}
protected override string GetScaffoldPageVirtualPath(MetaTable table, string viewName)
{
// what kind of cool stuff should I add in here?
return base.GetScaffoldPageVirtualPath(table, viewName);
}
}
Но может кто-нибудь объяснить, как бы я заполнил этот класс? (дайте пример кода)
Что бы я переопределил, чтобы сделать что-нибудь полезное?
Что я могу делать с моим собственным RouteProvider? Приведите мне примеры, когда это было бы полезно.
В качестве примера я хотел бы выполнить перенаправление 401 для некоторых таблиц, но продолжить поведение по умолчанию для других таблиц (конечно, в зависимости от роли или вошедшего в систему пользователя).