【发布时间】:2020-09-18 10:47:10
【问题描述】:
当我运行 API 时,我在构造函数中注入了(AccountAccessInterface)接口,我无法解析它的依赖关系,因为我从 .dll 获取该接口并且无权访问它的实现。所以我需要一些方法,以便我可以以任何方式解决控制器内部的依赖关系请因为没有接口的实现(隐藏实现)类,我在依赖解析器的 API 中遇到错误
public class AdminController : ApiController
{
private readonly AccountAccessInterface _accountAccessInterface;
public AdminController(AccountAccessInterface accountAccessInterface)
{
_accountAccessInterface = accountAccessInterface;
}
// to get account if by user id
[Route("api/admin/ProcessTrsanctionAndSave")]
[HttpGet]
public void ProcessTrsanctionAndSave()
{
BankDB.BankDB bankDB = new BankDB.BankDB();
bankDB.ProcessAllTransactions();
bankDB.SaveToDisk();
}
}
【问题讨论】:
-
如果
AccountAccessInterface不是为注入而设计的,依赖注入将无济于事。以通常的方式获取接口(无论可能是什么),并在必要时使用声明适合 DI 的接口的代码包装您的实现
标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-web-api