DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
上面代码的作用是让Container来管理Controller实例。当 Web 请求到达服务器时,服务器会从 Container 中获取一个 Controller 实例来处理该请求。
但是没有 Container,服务器会自动创建一个 Controller 实例。
在 Container 中管理 Controller 有什么好处?谢谢你。
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
上面代码的作用是让Container来管理Controller实例。当 Web 请求到达服务器时,服务器会从 Container 中获取一个 Controller 实例来处理该请求。
但是没有 Container,服务器会自动创建一个 Controller 实例。
在 Container 中管理 Controller 有什么好处?谢谢你。
优点是您可以将所有 IoC 类型注册存储在单个容器中,因此可以使用您选择的 IoC 容器(Autofac、Windsor、Unity、Ninject 等)干净地管理它们的依赖关系。如果您的控制器有依赖关系,这可以让您避免在其方法中对它们进行服务定位。
我在这里为 Unity提供了一个使用示例。我在自己的项目中使用 Autofac,但遵循相同的模式。