从MVC控制器消耗Web API控制器动作

use*_*862 2 .net c# asp.net-mvc asp.net-web-api

我有两个控制器,一个mvc控制器和一个api控制器,它们都在同一个项目中。

HomeController: Controller{ ... }
DataController: ApiController{ ... }
Run Code Online (Sandbox Code Playgroud)

如果我想从HomeController中使用DataController中的发布操作,是否有必要使用HttpClient

Pra*_*ath 5

不需要。您可以在HomeController中直接创建DataController对象的对象,并使用其post方法(如.Net中的实例方法)。

public class HomeController : Controller
    {

        public ActionResult GetResult()
        {
            MyApp.DataController dataController = new MyApp.DataController();
            var data = dataController.Post("arguments");

            return View(data);
        }
    }
Run Code Online (Sandbox Code Playgroud)