UnityConfig
是您定义的类。由于您在 MVC4 项目中执行此操作,因此最简单的方法可能是同时加载Unity.MVC3包。
Unity.MVC3将为您创建一个Bootstrapper.cs
文件。我所做的是将 Bootstrapper 重命名为 UnityConfig 并将文件移动到 App_Start 文件夹中。
你最终会得到的是
UnityConfig.cs
public static class UnityConfig
{
public static void Initialise()
{
var container = BuildUnityContainer();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
}
private static IUnityContainer BuildUnityContainer()
{
var container = new UnityContainer();
// register all your components with the container here
// it is NOT necessary to register your controllers
// e.g. container.RegisterType<ITestService, TestService>();
container.RegisterType<IFooService, KungFooService>();
...
return container;
}
}
全球.asax.cs
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
UnityConfig.Initialise();
...
}
}
注意:还有一个 Unity.MVC4 包,其工作方式完全相同。
编辑:
根据评论清除事情......
以下是相关包:
- 团结 3
- Unity.Mvc(微软)
- Unity.Mvc3
- Unity.Mvc4
我的答案基于 Unity.Mvc3,它在功能上等同于 Unity.Mvc。我发现 Unity.Mvc3 的文档和查找示例更容易,特别是对于初学者来说,虽然差别不是很大。但是,我不使用 XML 配置,在您的情况下,您可能会发现 Unity.Mvc 更容易。还有“由微软创造”的因素,这对某些人来说是一个很大的优势。
Unity.Mvc 确实为您创建了 UnityConfig,因此您无需像我上面所说的那样重命名。它还包括一个帮助加载 XML 配置的扩展。