Unity和Container.Resolve

时间:2017-03-06 02:14:05

标签: c# inversion-of-control unity-container

我有一个类,我需要使用我的容器来解析接口中的具体类。这个类不能使用构造函数,所以我尝试使用container.Resolve方法解析类。

在我的UnityHelper中,我已经设置了所有容器项目,并且有问题的项目被定义为:

container.RegisterType<OAuthAuthorizationServerProvider, AuthorisationServerProvider>();

然后在我的startup.cs文件中,我试图根据接口解析该类:

public class Startup {     private OAuthAuthorizationServerProvider _authorisationServiceProvider;

public Startup()
{
    var _container = UnityConfig.GetConfiguredContainer();
    _authorisationServiceProvider = _container.Resolve<OAuthAuthorizationServerProvider>();
}

但是,我在'Resolve thataying非泛型方法不能与类型参数一起使用时遇到设计时错误。

我已经看到了我正在做的地方。例如:Unity Container Resolve

我做错了什么?

1 个答案:

答案 0 :(得分:2)

问题是您必须手动添加对Unity的引用。对于那些得到这个,请确保你有:

using Microsoft.Practices.Unity;