services.AddHttpClient("MyAPI", client => { client.Timeout = TimeSpan.FromSeconds(30); });
[Route("api/[controller]")] public class MyController : Controller { private readonly HttpClient _httpClient;
public MyController(IHttpClientFactory httpClientFactory)
{
_httpClient = httpClientFactory.CreateClient("MyAPI");
}
[HttpGet]
public async Task MyAction()
{
var response = await _httpClient.GetAsync("http://myapi.com/myendpoint");
// 处理响应
}
}
这样就设置了 HttpClient 的默认超时为 30 秒,并且在 Controller 中使用了已经设置好超时的 HttpClient。可以根据你的实际需求来调整超时时间。