似乎我无法让这个工作。我做了一个自定义MembershipProvider,我想注入一个存储库,但[Inject]属性不起作用。
public class PyrosphereMembershipProvider : MembershipProvider
{
[Inject]
protected IDepositoireUtilisateur DepositoireUtilisateur { get; set; }
[Inject]
protected IDepositoireProfile DepositoireProfile { get; set; }
...
我认为这是因为这个类是在运行MVC应用程序之前创建的,这会导致实际问题。我试图使用membershipprovider比制作我自己的系统更加困难。
关于我的ninject配置我正在使用App_Start目录方法。我的所有绑定都是正确的,我看起来与我的绑定无关。
感谢任何帮助!
答案 0 :(得分:3)
ASP.NET Providers不是为正确的依赖注入而设计的。它们只有解决方法。
您必须为它们设置绑定并在使用它们之前解析至少一个实例。例如。通过将实例注入Global.asax或者您必须在第一次使用之前手动注入实例(kernel.Inject(...)
)。同样最有可能在global.asax应用程序启动方法中。