正在使用userRepository
的UserRoleProvider类public class UserRoleProvider : RoleProvider
{
private IUserRepository userRepo;
public UserRoleProvider(IUserRepository userRepository)
{
userRepo = userRepository;
}
...
}
NinjectDependencyResolver类中的绑定方法
private void AddBindings()
{
kernel.Bind<IUserRepository>().To<EFUserRepository>();
}
在Web.config中,我将UserRoleProvider设置为默认的RoleProvider
<roleManager enabled="true" defaultProvider="UserRoleProvider">
<providers>
<clear/>
<add name="UserRoleProvider" type="PomocnikPodroznika.WebUI.Infrastructure.Concrete.UserRoleProvider"/>
</providers>
</roleManager>
我收到错误说UserRoleProvider
没有构造函数接受0个参数(以及配置文件所需的内容)。有没有办法将EFUserRepository
对象(使用ninject)传递给UserRoleProvider
类而不通过构造函数传递?
答案 0 :(得分:0)
我找到了解决问题的方法。
private IUserRepository userRepo;
public UserRoleProvider()
{
userRepo = DependencyResolver.Current.GetService<IUserRepository>();
}