Я пытаюсь абстрагировать процесс регистрации маршрута из global.asax в загрузчик. Мой класс выглядит так:
public class RegisterRoutes : IBootstrapperTask
{
private readonly RouteCollection routes;
public RegisterRoutes(RouteCollection routes)
{
this.routes = routes;
}
public RegisterRoutes() : this(RouteTable.Routes)
{
}
public void Execute()
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
Мой global.asax выглядит так:
protected void Application_Start()
{
Bootstrapper.Run();
}
Мой упрощенный загрузчик выглядит так:
public static class Bootstrapper
{
static Bootstrapper()
{
// wires up the container
}
public static void Run()
{
container.ResolveAll<IBootstrapperTask>().Each(t => t.Execute());
}
}
Средство распознавания контейнера нормально, но когда я пытаюсь выполнить задачи, я получаю: InvalidOperationException - Тип VirtualPathProvider не может быть создан. Вы должны настроить контейнер для предоставления этого значения.
Любые отзывы будут оценены.
Спасибо