我在asp.net mvc 5应用程序中使用StructureMap,我有很多服务,每个服务我都有一个接口和一个类,所以例如我有一个IUserService和一个UserService,接口与实际服务类位于不同的命名空间中,接口位于命名空间“服务。接口”中。并且服务类位于命名空间' Services',StructureMap可以很好地找到接口的服务,但是当我想通过使用
显式获取实例时 var container = Ioc.Initialize();
var userService = container.GetInstance<IUserService>();
我收到错误&#39;没有注册默认实例,无法自动确定类型&#39; Services.Interfaces.IUserService&#39;
为什么只在调用GetInstance时才会发生这种情况?我该如何解决这个问题?
我使用这样的defalt配置:
public static class IoC {
public static IContainer Initialize() {
return new Container(c => c.AddRegistry<DefaultRegistry>());
}
}
public DefaultRegistry() {
Scan(
scan => {
scan.TheCallingAssembly();
scan.WithDefaultConventions();
scan.With(new ControllerConvention());
});
//For<IExample>().Use<Example>();
}