有没有人有关于DI陷阱的好名单的链接列表? 我一直试图注入控制使用DI,在一个asp.net webforms应用程序,发现在递归构建ViewState丢失。 也可能会有帮助的文章列表,其中开发人员需要知道陷阱之前采取在应用程序中实施IoC/DI的一大步。依赖注入陷阱
Q
依赖注入陷阱
2
A
回答
3
DI本身没有问题。或者更确切地说,这将像枚举一般编程问题一样,如传递空引用,然后不检查它。
递归积聚的ViewState丢失
“积累”为某些容器所说的那样,通常是一个坏主意,并应尽可能避免。看看Windsor FAQ有一些很好的防止积木的原因。这适用于所有IoC容器。
特别是,你的情况似乎是在控件的LoadViewState()(或者页面的LoadPageStateFromPersistenceMedium())之后发生了堆积,所以它渲染了viewstate无效。也许你的IoC容器提供了一个基本的控制类,它已经处理了这个,你忘了继承它。恕我直言,在WebForms中做DI是很冒险的(例如这种情况),我宁愿诉诸服务位置(只适用于WebForms页面和控件!)。简单,并且不需要奇怪的黑客。
现在,IoC + DI可以有一些问题,例如生命周期/范围问题。 Igor Brejc covers this very thoroughly in this article。特别是在有大量组件的复杂/大型应用中,您必须牢记这一点。
相关问题
- 1. 依赖注入
- 2. 依赖注入
- 3. 依赖注入
- 4. 依赖注入
- 5. 依赖注入
- 6. 依赖注入
- 7. 使用依赖注入来注入依赖注入器
- 8. 陷阱
- 9. 依赖注入@protocol?
- 10. 依赖注入`trait`
- 11. 依赖注入akka.net
- 12. 依赖注入UserControl
- 13. Wicket依赖注入
- 14. MVC依赖注入
- 15. C#依赖注入
- 16. 依赖注入wcf
- 17. Spring依赖注入
- 18. Wcf依赖注入
- 19. 依赖注入context.getbeans
- 20. ui.bootstrap依赖注入
- 21. MVP依赖注入
- 22. WPF依赖注入
- 23. 依赖注入UrlHelper
- 24. 依赖注入与注解
- 25. 依赖注入注释
- 26. 依赖注入解决循环依赖
- 27. 依赖注入与循环依赖
- 28. 与依赖注入循环依赖
- 29. 从MS Access的空陷阱的陷阱
- 30. 软件陷阱vs硬件陷阱
我已经尝试过在控件Init Eventoverler中调用Unity.BuildUp的注入。子控件的递归循环导致视图状态丢失。如果注射是通过注射特定的对照而明确的,那么就可以很好地... – chugh97 2010-08-16 15:10:18
@ chugh97:好吧,这对我的口味来说太过ha ish。 – 2010-08-16 15:23:39
IoC和DI之间的区别/关系:http://www.betaversion.org/~stefano/linotype/news/38/ – 2010-08-16 23:56:12