可能是因为 API Management 消耗层需要启动后,才会开始处理请求。因此,第一次请求可能需要更长的时间来执行,并可能会超时,因为它需要加载底层资源。
为了解决这个问题,可以使用在应用程序启动时使用预热端点。这将触发加载后端资源,以便在第一次请求到来时,后端服务可以更快地响应。
以下是在应用程序启动时使用预热端点的 C# 代码示例:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddHttpClient("backendClient", client =>
{
client.BaseAddress = new Uri("http://backend-service");
});
// Warm up backend
services.AddSingleton((provider) =>
{
var httpClientFactory = provider.GetRequiredService();
var httpClient = httpClientFactory.CreateClient("backendClient");
return httpClient.GetAsync("api/health").GetAwaiter().GetResult();
});
}
}
上一篇:AzureAPIM:如何使用多个XML响应转换为单个XML响应?
下一篇:AzureAPIManagement和ApplicationInsights中,针对在入站范围内使用send-request策略完成的请求,跟踪未能关联