Мне нужно вывести JSON из функции Azure без сериализации объекта, поскольку издержки сериализации слишком дороги.
Код сводится к следующему:
[FunctionName("AzureFunction")]
public static async Task<IActionResult>
Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "v1/function")], HttpRequest req, ILogger log)
{
MemoryStream outputStream = new MemoryStream();
StreamWriter writer = new StreamWriter(outputStream);
JsonWriter jsonWriter = new JsonTextWriter(writer);
jsonWriter.WriteStartObject();
jsonWriter.WritePropertyName("Property");
jsonWriter.WriteValue("Value");
jsonWriter.WriteEndObject();
outputStream.Seek(0, SeekOrigin.Begin);
return new FileStreamResult(outputStream, "application/json");
}
Однако этот JSON преобразуется в строку перед тем, как в какой-то момент попасть в провод. Мне удалось передать поток из другого HTTP-вызова напрямую через объект FileStreamResult, и он не преобразуется в строку, поэтому я уверен, что это возможно.