asp.net-mvc - ASP.NET Core MVC 在不使用 Http 请求的情况下使用内部 Web API
问题描述
我正在使用 ASP.NET Core MVC 和 Web API 并尝试使用内部 Web API(使用 ApiController 完成,为将来的跨平台应用程序使用做准备),我看到了一个不需要使用 HttpClient 或任何 Http 的答案从 Web API 获取数据的请求功能,请参阅:Consuming web api controller action from mvc controller
我正在尝试做类似的事情,但是我的自动生成的 Web API 控制器带有 DBContext 参数,这导致我无法遵循链接中提到的内容。
以下是我的控制器中的内容,导致我无法执行上面链接中提到的操作:
private readonly MyTestDBContext _context;
public MfgProductsController(MyTestDBContext context)
{
_context = context;
}
如果“MyTestDBContext context”参数应该保留,我应该在我的控制器中写什么来传递 DBContext?
或者,如果有办法从参数中删除“MyTestDBContext context”,构造函数应该如何更改?
解决方案
让容器完成它的工作,只需将控制器作为依赖项添加到控制器中:
public class MyController : Controller
{
public MyController(MfgProductsController productsController)
{
_productsController = productsController;
}
private readonly MfgProductsController _productsController;
}
它应该为您填充所有依赖项。
推荐阅读
- google-bigquery - SSAS 表格模型 Value.NativeQuery 失败
- javascript - 在three.js中拉伸几何
- android - Android - 具有非根设备的“set-device-owner”
- angular - 带有固定部件的 Angular 7 路由器链接
- docker - 在 docker 容器中运行 `screen` 以查看来自 /dev/ttyUSB0 的串行输出
- c# - 用户定义的转换必须与 asp core 2.2 中的封闭类型相互转换
- javascript - 查询结果到变量(节点红色)
- keyboard - xvfb-run 键盘检测
- reactjs - React-Hook 条件渲染(没有错误,但不起作用)
- collapse - 来自 Bootstrap collapse.js 问题的 querySelector