2011-09-05 96 views
0

我有:温莎依赖性问题

public class ServiceA : IServiceA 
{ 
    public ServiceA(IServiceB serv){...} 
} 

public class ServiceB : IServiceB 
{ 
} 

两个注册为单身。

现在,当我做的:

..Container.Resolve<IServiceB>() 

我想,以确保IServiceA也得到了解决。它涉及到这些服务之间的某种依赖性,尽管不知道如何去做。

编辑:

我所期望的是做这样的事情:

var B = ..Container.Resolve<IServiceB>(); 
//Make sure IServiceA has been resolved 
B.SomeFunction(); 

B.SomeFunction()需要IServiceA解决的做一些东西Event Based

注意的原因是:我不解决IServiceB直接在代码中,但通过不同的类构造函数。

+0

提供更多的细节,为什么你会期望它的工作,以及什么因为它不工作而中断。 'IServiceB'对'IServiceA'有什么依赖性?你目前的签名表明没有依赖性(朝着那个方向)。这可能会帮助人们提出替代方案 –

回答

1

IServiceB对IServiceA没有依赖性,虽然情况正好相反。如果您要求IServiceA,它将解析IServiceB。

+0

不幸的是,我不能改变构造函数中的解析选项,因为我如何编写它们是我需要的方式 – ub1k

+0

它没有任何意义,你在问什么。如果您需要同时解决IServiceA和IServiceB,请调用IServiceA上的.Resolve或修复代码依赖关系。 – Joe