我是 Ninject 的新手,在使用自定义成员(member)提供程序时遇到问题。
我的成员(member)提供者有一个存储库接口(interface)传入。它看起来像:
public class CustomMembershipProvider : MembershipProvider
{
public CustomMembershipProvider( IRepository repository )
{
}
}
我使用作为 MVC 应用程序中帐户模型一部分的代码作为起点。
但是,当它调用
Membership.Provider
我收到一条错误消息 No parameterless constructor defined for this object
.我已经在 ninject 中设置了绑定(bind)来绑定(bind)
IRepository
到 Repository
我在 Controller 中测试它时工作的类。Ninject 中用于
Membership.Provider
的正确绑定(bind)是什么? ?
最佳答案
这就是今天使用新版本的 MVC 和 Ninject(版本 3)应该如何完成的:
您可以访问 DependencyResolver 实例,并且 Ninject 将自己设置为当前的 DependencyResolver。这样你就不需要破解来访问静态的 Ninject 内核。请注意,我的示例使用我自己的 IUserService 存储库作为成员资格...
IUserService _userService = DependencyResolver.Current.GetService<IUserService>();
关于asp.net-mvc - 将 Ninject 与 Membership.Provider 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123092/