我正在尝试使用Spring.Net容器中定义的任务(现在的RegisterRoutes和RegisterControllerFactory)创建一个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方法中运行bootstrapper,WebApplicationContext尚不可用 - 可用的最早阶段是Init方法。
但我知道Init方法不是注册路线的好地方(请参阅:http://aspnet.codeplex.com/WorkItem/View.aspx?WorkItemId=3325)
是否有任何解决方法或我是否应该手动创建一个引导程序(没有弹簧)?
由于
答案 0 :(得分:0)
由于我没有使用Spring IOC和MVC(使用Ninject),这可能没什么用,但你可以试试
IApplicationContext ctx = ContextRegistry.GetContext();
并在web.config中注册引导程序对象
http://www.springframework.net/doc-latest/reference/html/objects.html#objects-factory-instantiation