当 IActionResult 中的 HttpClient 调用外部服务器时,哪个设备发出 HTTP 请求
Which device makes the HTTP request when an HttpClient inside an IActionResult calls an external server
我试图了解 ASP.NET MVC 上的一些非常基本的东西,以便清楚地了解谁在做什么,但遗憾的是我到目前为止失败了。
考虑以下物理设备,一台 pc 和 2 个服务器:
- 我托管我的 ASP.NET 网站的物理服务器
- 一个外部服务器,比如世界银行
- 一个用户的电脑连接到我的网站(即我的服务器)
当用户访问我的主页时,我想向他显示一些从世界银行获取的数据(从世界银行检索 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 似乎是对的:控制器内部的内容在服务器上运行。
我试图了解 ASP.NET MVC 上的一些非常基本的东西,以便清楚地了解谁在做什么,但遗憾的是我到目前为止失败了。
考虑以下物理设备,一台 pc 和 2 个服务器:
- 我托管我的 ASP.NET 网站的物理服务器
- 一个外部服务器,比如世界银行
- 一个用户的电脑连接到我的网站(即我的服务器)
当用户访问我的主页时,我想向他显示一些从世界银行获取的数据(从世界银行检索 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 似乎是对的:控制器内部的内容在服务器上运行。