gpt4 book ai didi

.net - 流响应在 Azure APIM 中不起作用

转载 作者:行者123 更新时间:2023-12-03 06:27:26 25 4
gpt4 key购买 nike

我们已经实现了一个简单的 Dotnet API 来提供流响应,当我们使用curl 命令直接使用应用服务 Url 测试 API 时,它按预期工作。

当我们调用通过 Azure APIM 路由的 api 端点时,流响应不起作用。我们得到的是一大块的回复,而不是逐字回复。

Azure APIM 中是否有任何设置支持流响应?

API代码

    [Route("[controller]")]
[ApiController]
public class NewStreamingController : ControllerBase
{
[HttpPost("NewStream")]
public async Task GetStream([FromBody] MasterInput request)
{
for (var counter = 0; counter < request.Count; counter++)
{
var message = $"data - {counter} \n";
await Response.WriteAsync(message);
await Response.Body.FlushAsync();
await Task.Delay(50);
}
}

public class MasterInput
{
public int Count { get; set; }
}
}

Curl 命令进行测试

curl -X "POST"  "https://localhost:7152/NewStreaming/NewStream"   -H "accept: */*"   -H "Content-Type: application/json"   -d "{ \"count\": 15 }"

最佳答案

APIM 支持流式传输响应内容。在 APIM 后端 policy 语句中,将 buffer-response 属性设置为 false。文档是here .

关于.net - 流响应在 Azure APIM 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75459920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com