【问题标题】:How to call ASP.NET Core Web MVC from Web API如何从 Web API 调用 ASP.NET Core Web MVC
【发布时间】:2021-02-28 11:39:04
【问题描述】:

我有 ASP.NET Core Web MVC 应用程序,它从 ASP.NET Core Web API 获取数据。但是有一种情况是我需要从 API 调用 MVC,在 API 端更新数据时。

我在 MVC 控制器中的代码是

public class HomeController : Controller
{
    [HttpGet,Route("updateOverview")]
    public void GetOverview()
    {
        // some code
    }
}

在 API 方面我有这个

             try
            {
                UriBuilder uri = new UriBuilder("https://localhost:44324/Home/updateOverview");     // mvc url
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri.Uri);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            }
            catch(Exception e)
            { }

但响应码是 404。那我试试这个

            HttpResponseMessage responseMessage1 = await _apiClient.GetAsync("https://localhost:44324/Home/updateOverview");

但也得到 404。

我也尝试在 MVC 端创建 API 控制器,而不是尝试点击这个控制器

public class HomeController : Controller
{}

我试试这个

[Route("api/[controller]")]
[ApiController]
public class GetDataController : ControllerBase
{}

但也得到 404。

【问题讨论】:

  • try = >> [HttpGet,Route("home/updateOverview")]
  • 请接受我的回答

标签: c# asp.net asp.net-mvc asp.net-core asp.net-web-api


【解决方案1】:

尝试 = >>

[HttpGet,Route("home/updateOverview")]

或

[HttpGet,Route("[controller]/updateOverview")] 

【讨论】:

    猜你喜欢
    • 2021-09-16
    • 2022-01-02
    • 2019-04-27
    • 2017-11-01
    • 2018-12-30
    • 2017-01-27
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多