我正在尝试将asp.net应用程序移植到asp.net核心.我在我的UnitOfWork实现上有属性注入(使用ninject).
[Inject]
public IOrderRepository OrderRepository { get; set; }
[Inject]
public ICustomerRepository CustomerRepository { get; set; }
Run Code Online (Sandbox Code Playgroud)
有没有办法在.net核心上使用DI构建来实现相同的功能?是否可以使用基于约定的绑定?
如果我在我的Asp.Net Core 2.0 Web应用程序中创建一个BaseController,其中包含一些常见的依赖关系,它们仍然是实际控制器中必需的.
例如,默认MVC 6 Web应用程序中的标准Account和Manage控制器.
public class AccountController : Controller
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly SignInManager<ApplicationUser> _signInManager;
private readonly IEmailSender _emailSender;
private readonly ILogger _logger;
public AccountController(
UserManager<ApplicationUser> userManager,
SignInManager<ApplicationUser> signInManager,
IEmailSender emailSender,
ILogger<AccountController> logger)
{
_userManager = userManager;
_signInManager = signInManager;
_emailSender = emailSender;
_logger = logger;
}
//rest of code removed
}
public class ManageController : Controller
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly SignInManager<ApplicationUser> _signInManager;
private readonly IEmailSender _emailSender;
private readonly ILogger _logger; …Run Code Online (Sandbox Code Playgroud)