我正在使用Ninject.MVC3。
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<Repository>().To<Repository>();
}
在App_Start中注册它们。 它在请求此存储库的控制器上工作正常。 但是我也有一些需要这个存储库的类。
[Inject]
public MemberShipService(Repository repository)
{
this.Repository = repository;
}
^类构造函数的示例。 我试过构造函数注入这只是给我错误,因为它请求构造函数的参数。 物业注入根本不起作用。
我是否需要做一些额外的工作才能使构造函数或属性注入在asp.net mvc3中工作?我没有在NinjectWebCommon中做任何其他配置,除了我上面发布的那条线。
答案 0 :(得分:3)
您需要使用依赖项解析程序解析该类的实例才能使用它,使用以下命令创建MemberShipService
的实例:
var memberShipService =
DependencyResolver.Current.GetService(typeof(MemberShipService)) as MemberShipService;
这将使用您指定的构造函数绑定您的实例变量Repository
。