1

看来我无法让它工作。我制作了一个自定义 MembershipProvider,我想在里面注入一个存储库,但是 [Inject] 属性不起作用。

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

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

我认为这是因为此类是在 MVC 应用程序运行之前创建的,这会导致实际问题。尝试使用membershipprovider 比制作自己的系统时遇到更多问题。

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

任何帮助表示赞赏!

4

1 回答 1

3

ASP.NET 提供程序不是为正确的依赖注入而设计的。他们只有解决方法。

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

于 2011-12-07T10:04:09.817 回答