gpt4 book ai didi

asp.net-mvc-3 - 具有无参数构造函数的 Ninject 和 Provider 模型

转载 作者:行者123 更新时间:2023-12-03 03:03:41 26 4
gpt4 key购买 nike

我正在实现一个自定义 RoleProvider 并希望使用 Ninject,但我面临无参数构造函数问题。关于如何为此注入(inject)有任何想法吗?

public class EFRoleProvider:RoleProvider
{
private readonly IRepository _repository;

// I want to INJECT this GOO here!
public EFRoleProvider()
{
IContextFactory contextFactory = new DbContextFactory<myEntities>();
_repository = new RepositoryBase(contextFactory);

}
}

最佳答案

您无法注入(inject)硬编码的内容。对不起。没有 DI 框架支持这一点。在构造函数中,您已经对实例进行了硬编码,因此这不再是控制反转。为了执行控制反转,您需要将层定义为尽可能松散耦合:

public class EFRoleProvider: RoleProvider
{
private readonly IContextFactory _contextFactory;
public EFRoleProvider(IContextFactory contextFactory)
{
_contextFactory = contextFactory;
}
}

现在继续配置您的 DI 框架。

关于asp.net-mvc-3 - 具有无参数构造函数的 Ninject 和 Provider 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5850473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com