0
我进入统一的8个小时,并且已经计算出了一些内容,但是我无法找到与此相关的角度。我有一个IResourceManager
统一 - 在其他已解决的类型中使用已解决的类型作为参数
public interface IResourceManager
{
ILogger Logger { get; set; }
string Path { get; set; }
}
和相应的类型:
public class ResourceManager : IResourceManager
{
public ResourceManager(ILogger logger, string path)
{
Logger = logger;
Path = path;
}
public ILogger Logger { get; set; }
public string Path { get; set; }
}
Futhermore
public class Logger : ILogger
{ }
最后
public ResourceManagerController(ILogger logger, IResourceManager imageResourceManager)
{}
我想表现的记录器和ResourceMa非常喜欢单身。只要IResourceManager中没有ILogger,我就可以继续工作,但我一直在收到“无默认构造函数”异常。
到目前为止,我有:
public static void Register(HttpConfiguration config)
{
var container = new UnityContainer();
container.RegisterType<ILogger, Logger>("DefaultLogger", new ContainerControlledLifetimeManager());
container.RegisterType<IResourceManager, ResourceManager>("imageResourceManager", new ContainerControlledLifetimeManager(),
new InjectionConstructor(new ResolvedParameter<ILogger>("DefaultLogger"), "basePath"));
config.DependencyResolver = new UnityResolver(container);
// Web API routes ...
}
我怎么都让ResourceManagerController IST的成功实例化和两Logger
和ResourceManager
作为单身人士注册我的类型?