1
無論如何圍繞LightInject中檢測到的遞歸依賴項問題。Lightinject - 檢測到遞歸依賴關係
我有兩個採取對方的業務服務,因此我得到一個遞歸依賴檢測到的錯誤。任何人都想出了一個解決方法?我確定在結構圖中是有效的。
所以我有這樣的:
public class RetailerService : IRetailerService
{
private readonly IUserService _userService;
public RetailerService(IUserService userService)
{
_userService = userService;
}
和
public class UserService : IUserService
{
private readonly IRetailerService _retailerService;
public UserService(IRetailerService retailerService)
{
_retailerService = retailerService;
}
每個需要對對方的電話。例如,當我加載用戶時,我加載了零售商,這是對零售商服務的調用,當我添加零售商時,我需要驗證用戶是否是對userService的調用。
在此先感謝。
這不是IoC框架的問題,你已經犯了一個無法解決的問題。首先找到一種可以手動構建這兩個對象的方法,然後我們可以看到我們如何欺騙IoC框架爲您做這件事。我也質疑這裏的責任。您可能希望將這兩者分成三部分,創建一個新的服務,可以加載用戶+零售商或零售商+用戶,而不需要這兩個人知道另一個。 –
StructureMap無法爲您解決這個問題。如果您嘗試手動構建對象圖,則無法進行編譯。 – Steven
好的歡呼傢伙,我已經重新開展了這些服務,並從用戶服務中刪除了零售服務依賴項。 – user1829226