1

我正在尝试使用在 Spring.Net 容器中定义的任务(现在是 RegisterRoutes 和 RegisterControllerFactory)创建一个引导程序。引导程序代码如下:

    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 )

有什么解决方法还是我应该手动创建一个引导程序(没有弹簧)?

谢谢

4

1 回答 1

0

由于我没有将 Spring IOC 与 MVC 一起使用(使用 Ninject),这可能无济于事,但您可以尝试

IApplicationContext ctx = ContextRegistry.GetContext();

并在 web.config 中注册您的引导程序对象

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

于 2009-05-16T23:18:52.797 回答