我有一個ASP.NET核心項目(我第一次),需要爲特定任務兩個內部「序」兩個單服務。首先是實施這樣的:創建實現相同的接口
在Startup.cs ConfigureServices方法:
services.AddSingleton<ISequencer, ProfileSequencer>();
當然,我有接口和實現定義的,它的工作好。不過,我不知道如何添加第二個音序器,它實現相同的接口,但具有稍微不同的實現。
services.AddSingleton<ISequencer, ChargeSequencer>();
ASP.NET不會抱怨這個,但現在當我注入ISequencer到我的班,我無法想象它是如何知道要使用的單。我懷疑(但不確定)第二個單例實際上取代了第一個單例。
有可能是這裏的一些不好的設計決策,所以我會接受它描述我怎麼能注入實現了相同的接口,或者如果需要其他合理的方法解決這個問題兩個不同的單身人士一個答案。謝謝!
http://stackoverflow.com/questions/39174989/how-to-register-multiple-implementations-of-the-same-interface-in-asp-net-core的可能重複 –
感謝您的聯繫 - 我同意這個基本上是重複的。由於我發現了針對不同服務類型的其他解決方案,因此我在單例實現方面的搜索條件中掛了。 – k3davis