Я создаю функцию Azure, которая возвращает фрагментированный ответ (с использованием await response.WriteAsync(...)
). Когда я открываю URL-адрес функции Azure в Chrome, я получаю сообщение об ошибке: Chunked: 1 GET http://localhost:7071/api/Chunked net :: ERR_INCOMPLETE_CHUNKED_ENCODING 200 (ОК)
Эта ошибка возникает в большинстве случаев, но иногда я получаю правильный результат. Однако, когда я открываю тот же URL-адрес из Edge, ответ всегда загружается правильно. Я запускаю код локально из Visual Studio 15.8.7, версия среды выполнения функции: 2.0.12134.0,
Я создал минимальное воспроизведение:
[FunctionName("Chunked")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
var res = req.HttpContext.Response;
res.StatusCode = 200;
var token = " Lorem ipsum ";
await res.WriteAsync(token);
for (int i = 0; i < 100; i++)
{
token += token;
if (token.Length > 2000)
token = " Lorem ipsum ";
await res.WriteAsync(i + token + "\n");
await Task.Delay(10); // Simulate wait for another record
}
}
Мой код более сложный, потому что он читает контент из базы данных, но я смоделировал его с помощью Task.Delay.