当 IActionResult 中的 HttpClient 调用外部服务器时,哪个设备发出 HTTP 请求

Which device makes the HTTP request when an HttpClient inside an IActionResult calls an external server

我试图了解 ASP.NET MVC 上的一些非常基本的东西,以便清楚地了解谁在做什么,但遗憾的是我到目前为止失败了。

考虑以下物理设备,一台 pc 和 2 个服务器:

  1. 我托管我的 ASP.NET 网站的物理服务器
  2. 一个外部服务器,比如世界银行
  3. 一个用户的电脑连接到我的网站(即我的服务器)

当用户访问我的主页时,我想向他显示一些从世界银行获取的数据(从世界银行检索 JSON 并在我的网站上显示为 html)。

我想到了这个 IAction,在索引视图上说:

public IActionResult Index()
{
    using (HttpClient client = new HttpClient())
    {
        var response = await client.GetAsync("http://api.worldbank.org/countries?format=json");
       //Process data, perhaps put in a viewmodel and return View
    ...      
    }
    ...
  return View(model);
}

问题

我的网站设置完成后 运行,如果用户访问我的索引页面,哪个物理设备向世界银行发出请求? 是用户的电脑还是我的服务器,我该如何检查?

到目前为止,在我的 MVC 学习曲线中,我假设 My Server 运行 HomeController 内部的内容,因此将由 My Server 调用 WorldBank。

感谢您的澄清,如果这个问题微不足道,我深表歉意。

问过一些同事后,Oliver 似乎是对的:控制器内部的内容在服务器上运行。