2009-05-16 2 views
1

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

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

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

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

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

Благодаря

ответ

0

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

IApplicationContext ctx = ContextRegistry.GetContext(); 

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

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

+0

Нет, это не помогает ... – rrejc