【发布时间】:2014-02-11 18:18:56
【问题描述】:
我正在使用 ASP.NET MVC 4 应用程序。
Home 控制器的构造函数有 2 个参数(Iservice1 service1, Iservice2 service2) 并非所有代码路径都使用任何服务(service1、service2),仅在某些代码路径中我需要 service1 实例/对象或 service2 实例/对象。
我不想使用 container.Resolve<Lazy<IService1>>();
从此链接 (http://msdn.microsoft.com/en-us/library/dn178463(v=pandp.30).aspx) 我了解到 unity.mvc 4 使用具有延迟加载支持的 unity 3,但如何在 ASP.NET MVC 4 中执行此操作。
【问题讨论】:
-
您是否测量过注入未使用的依赖项的性能开销,是否确定注入这两个服务实际上是一个瓶颈?
-
是的,我们已经严重影响了性能,提高性能的要点之一是延迟加载对象。谁能告诉我问题的答案
-
你在Service1的构造函数中做了什么样的初始化?服务的构建应该很快。
-
Service1 或 Service2 的构造很简单,但控制器依赖于 10 个或更多服务,并且并非所有代码路径都需要所有 10 个服务,我的问题是如何使用 Bootstrap Unity 或延迟加载服务Unity.MVC 4
-
Steven,首先我要感谢您花费的时间,Service1 或 Service2 的构建很简单,但是控制器依赖于 10 个或更多的服务,并不是所有的代码路径都需要全部10 个服务,我的问题是如何使用 Bootstrap Unity 或 Unity.MVC 4 延迟加载服务
标签: asp.net-mvc inversion-of-control lazy-loading unity-container deferred-loading