我对 DotNetNuke 模块开发非常陌生,但相当精通 StructureMap 作为 IoC 容器以及 IoC 和依赖注入的概念。
我在这里关注 DNN 模块教程视频 - http://www.dotnetnuke.com/Resources/Video-Library.aspx - 但我不太清楚我将在哪里进行 StructureMap 初始化。
在 DNN 模块开发的框架内,我该在哪里做呢?
我对 DotNetNuke 模块开发非常陌生,但相当精通 StructureMap 作为 IoC 容器以及 IoC 和依赖注入的概念。
我在这里关注 DNN 模块教程视频 - http://www.dotnetnuke.com/Resources/Video-Library.aspx - 但我不太清楚我将在哪里进行 StructureMap 初始化。
在 DNN 模块开发的框架内,我该在哪里做呢?
没有像在 DotNetNuke 中那样进行一次性初始化的好地方。DNN 没有给Application_Start
事件一个干净的钩子。
我们采用的一种方法是实现一个执行HttpModule
初始化的方法,并使用锁来确保它只发生一次。Ian Robinson 在他的 Beer Collection MVP 示例模块中有一个例子,但似乎有些删减了。这种方法的一个问题是它需要通过管道请求来设置所有内容。我们已经看到了计划任务(不在请求的上下文中运行)能够在没有此初始化的情况下启动的情况,然后因为没有任何依赖关系而崩溃。