有一个使用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
传递给类而不通过构造函数传递呢?
我已经找到解决问题的方法。
private IUserRepository userRepo;
public UserRoleProvider()
{
userRepo = DependencyResolver.Current.GetService<IUserRepository>();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句