我是DotNetNuke模块开发的新手,但是他非常精通StructureMap作为IoC容器以及IoC和依赖注入的概念。
我正在关注DNN模块教程视频 - http://www.dotnetnuke.com/Resources/Video-Library.aspx - 但我无法弄清楚我将在哪里进行StructureMap初始化。
在DNN模块开发框架内,我该怎么做?
答案 0 :(得分:3)
没有像DotNetNuke中那样进行一次初始化的好地方。 DNN没有为Application_Start
事件提供干净的挂钩。
我们采取的一种方法是实现初始化的HttpModule
,并使用锁定以确保它只发生一次。 Ian Robinson在他的啤酒收集MVP样本模块中有an example of that,但似乎有torn it out somewhat。这种方法的一个问题是它需要通过管道的请求来设置所有内容。我们已经看到过这样的情况:计划任务(不在请求的上下文中运行)能够在没有初始化的情况下启动,然后因为它没有任何依赖而爆炸。