試圖在ASP.Net Web API項目中實現依賴注入。Unity依賴注入 - 如何在運行時創建要注入的實例
我希望能夠在我的一些服務中注入Account
的實例。
Account
實例應該與用戶Guid
一起創建,並且直到運行時才能知道。
所以在我的服務,我有:
public TransactionService(Account acc)
{
_account = acc;
}
而在我的應用程序啓動時,我可以做到這一點 - 在容器是一個新的UnityContainer
:
container.RegisterType<Instanet.Engine.Account>(new InjectionConstructor(new Guid("xxxxxx")));
這,當然,是不是任何好的,因爲它會使用相同Account
爲每個用戶/請求等。
如果我嘗試使用類似的東西:
container.RegisterType<Instanet.Engine.Account>(new InjectionConstructor(GetTheUsersID()));
...其中GetTheUsersID()需要檢查Cookie或ASP.Net身份請求,當然在應用程序啓動時不可用。 (請簡單地說,這個DI東西傷害了我的大腦)我是否實現了這個功能,這樣我就可以將實例化的Account
注入任何可能需要它的服務中。
謝謝,但並不能真正幫助很大。據我所知,引導程序代碼是在應用程序第一次啓動時運行的。因此,這個問題 - 我需要的一些信息目前不可用。賬戶也是遺留的東西,這使得它更加困難。 – Darren