如何将存储库注入自定义MembershipProvider?

时间:2011-12-07 00:57:37

标签: ninject custom-membershipprovider

似乎我无法让这个工作。我做了一个自定义MembershipProvider,我想注入一个存储库,但[Inject]属性不起作用。

  public class PyrosphereMembershipProvider : MembershipProvider
    {
        [Inject]
        protected IDepositoireUtilisateur DepositoireUtilisateur { get; set; }

        [Inject]
        protected IDepositoireProfile DepositoireProfile { get; set; }
...

我认为这是因为这个类是在运行MVC应用程序之前创建的,这会导致实际问题。我试图使用membershipprovider比制作我自己的系统更加困难。

关于我的ninject配置我正在使用App_Start目录方法。我的所有绑定都是正确的,我看起来与我的绑定无关。

感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

ASP.NET Providers不是为正确的依赖注入而设计的。它们只有解决方法。

您必须为它们设置绑定并在使用它们之前解析至少一个实例。例如。通过将实例注入Global.asax或者您必须在第一次使用之前手动注入实例(kernel.Inject(...))。同样最有可能在global.asax应用程序启动方法中。