如何解决Ninject 循环依赖
wpf 应用中有 2 个类
头等舱
public class Context1 : BaseContext
{
private readonly Page1 _page1;
public Context1(Page1 page1)
{
_page1 = page1;
}
}
二级
public class Context2 : BaseContext
{
private readonly Page2 _page2;
public Context2(Page2 page2)
{
_page2 = page2;
}
}
配置
container = new StandardKernel();
container.Bind<Page1>().ToMethod(context => new Page1() { DataContext = container.Get<Context1>() });
container.Bind<Page2>().ToMethod(context => new Page2() { DataContext = container.Get<Context2>() });
启动时出现stackoverflow异常,如何解决?
解决方法
Context
需要一个 Page
,而 Page
需要一个 Context
,所以它是一个循环依赖。我建议将每个服务的一些行为重构为独立的服务,以便其中至少一个可以从服务中获取其依赖项并打破循环引用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。