2011-09-05 62 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