【发布时间】:2015-05-20 16:43:59
【问题描述】:
我正在编写一个 MVC 5 互联网应用程序,并且对潜在的编码缺陷有疑问。
我有一个 AccountService 类,它有一个在构造函数调用中初始化的 MapLocationMarkerService 对象。 MapLocationMarkerService 有一个构造函数参数,即AccountService。
当我创建一个AccountService 对象时,我在初始化MapLocationMarkerService 对象时传入了当前的AccountService 对象。
这会导致无限循环吗?
【问题讨论】:
-
使用依赖注入,是的,这会导致堆栈溢出。您应该定义不同的层以避免这种情况。
-
一个代码示例会使这更清楚,但据我了解,您创建一个
AccountService,然后创建一个MapLocationMarkerService,其中包含对父AccountService的引用。由于MapLocationMarkerService从未尝试实例化新的AccountService,因此我看不到哪里会发生无限循环。
标签: c# object constructor asp.net-mvc-5