如何使用带有StructureMap DI的MVCSiteMapProvider配置站点地图

时间:2014-04-17 04:40:13

标签: asp.net-mvc-4 structuremap mvcsitemapprovider

我将StructureMap作为在我的项目中进行DI的一种方式。我想在我的项目中创建站点地图。 我从NuGet安装MvcSiteMapProvider MVC4 StructureMap Dependency Injection Configuration。 它需要手动配置,但我不知道如何配置它。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

如果您在项目中安装了MvcSiteMapProvider.MVC4.DI.StructureMap,则不需要手动配置。当您在项目中没有DI时,此软件包可供使用 - 它包含一个组合根,可用作为整个项目注册所有DI配置的单一位置。

但是,如果您在项目中安装了MvcSiteMapProvider.MVC4.DI.StructureMap.Modules,则需要手动配置。此程序包旨在用于具有预先存在的DI设置的项目中。您只需按照readme file中的说明将其添加到现有配置即可。确切的过程可能因项目而异,但自述文件包含需要添加的所有必需和可选代码行。关键是你需要确保只为整个项目实例化1个DI容器,并且所有模块都在其中注册。

请注意MvcSiteMapProvider.MVC4.DI.StructureMap取决于MvcSiteMapProvider.MVC4.DI.StructureMap.Modules,因此您可以使用单个程序包管理器命令轻松降级。

PM> Uninstall-Package MvcSiteMapProvider.MVC4.DI.StructureMap

确保您不使用-RemoveDependencies选项。