我正在使用Unity依賴注入並且遇到麻煩。我已經註冊了我的接口和類如下:Unity - 當前類型是一個接口,不能構造。你是否缺少類型映射?
container.RegisterType<IUserService, UserService>();
其中容器是IUnityContainer。
在我的控制器我有一個構造函數設置採取的IUserService參數,像這樣:
private readonly IUserService _service;
public DependencyController(IUserService service)
{
_service = service;
}
當被引導至該控制器的索引頁面上的鏈接被擊中,我得到以下錯誤:
「目前的類型,Converge.Service.Interfaces.IUserService,是一個接口,不能構成是否缺少類型映射。?」。不知道我可能會錯過什麼。任何幫助是極大的讚賞?如果您需要更多信息,請告訴我。
UPDATE 這裏是UnityConfig類
public class UnityConfig
{
private static readonly Lazy<IUnityContainer> Container = new Lazy<IUnityContainer>(() =>
{
var container = new UnityContainer();
RegisterTypes(container);
return container;
});
public static IUnityContainer GetConfiguredContainer()
{
return Container.Value;
}
private static void RegisterTypes(IUnityContainer container)
{
new ServiceInjection()
.Inject(container);
}
}
public class ServiceInjection
{
public void Inject(IUnityContainer container)
{
container.RegisterType<IUserService, UserService>();
}
}
請從您的組成根(即捆綁的容器MVC啓動代碼)顯示代碼。 – NightOwl888
你確定,調用'Inject'方法嗎?看起來像你的容器註冊代碼沒有執行 – Backs
是啊被稱爲。步入它。 –