Asp.net MVC пружинный загрузчик - PullRequest
1 голос
/ 16 мая 2009

Я пытаюсь создать загрузчик с задачами (на данный момент RegisterRoutes и RegisterControllerFactory), определенными в контейнере Spring.Net. Код загрузчика ниже:

    public static void Run()
    {
        IApplicationContext applicationContext = WebApplicationContext.GetRootContext();
        IDictionary bootstrapperTasks = applicationContext.GetObjectsOfType(typeof(IBootstrapperTask));
        foreach (IBootstrapperTask bootstrapperTask in bootstrapperTasks.Values)
            bootstrapperTask.Execute();
    }

Проблема в том, что если я хочу запустить bootstrapper в методе Application_Start, WebApplicationContext еще не доступен - самый ранний этап, на котором доступен метод Init.

Но, как я знаю, метод Init не подходит для регистрации маршрутов (читайте по адресу: http://aspnet.codeplex.com/WorkItem/View.aspx?WorkItemId=3325)

Есть ли обходной путь или я должен создать загрузчик вручную (без пружины)?

Спасибо

1 Ответ

0 голосов
/ 17 мая 2009

Так как я не использовал весенний IOC с MVC (используя Ninject), это может не помочь, но вы можете попробовать

IApplicationContext ctx = ContextRegistry.GetContext();

и зарегистрируйте ваши объекты начальной загрузки в web.config

http://www.springframework.net/doc-latest/reference/html/objects.html#objects-factory-instantiation

...