ASP.NET Возвращаемый образ основного промежуточного программного обеспечения

#response #middleware

#ответ #промежуточное программное обеспечение

Вопрос:

У меня есть asp.net основное промежуточное программное обеспечение, которое должно регистрировать некоторые запросы, а затем возвращать изображение.

В ответе промежуточного программного обеспечения мне нравится возвращать изображение в виде байта []. Я поиграл с context.Reponse.Объект WriteAsync(), но не нашел никакого решения для возврата изображения.

   public class TrackerMiddleware
    {
        private readonly IClientInformationManager _clientInformationManager;
        private readonly RequestDelegate _next;

        public TrackerMiddleware(RequestDelegate next, IClientInformationManager clientInformationManager)
        {
            _next = next;
            _clientInformationManager = clientInformationManager;
        }

        public async Task Invoke(HttpContext context)
        {
            var clientInfo = new ClientInformationLogDTO();
            clientInfo.AgentContext = context.Request.Headers["User-Agent"];

          
            await _clientInformationManager.CreateLogAsync(clientInfo);

            //TODO: Return image here
            await context.Response.WriteAsync("");

            //await _next(context);
        }
    }
 

Как я могу изменить свое промежуточное программное обеспечение, чтобы вернуть изображение?

Ответ №1:

 await context.Response.BodyWriter.WriteAsync(new byte[]{ 1 });
 

Комментарии:

1. Пожалуйста, не публикуйте только код в качестве ответа, но также предоставьте объяснение, что делает ваш код и как он решает проблему вопроса. Ответы с объяснением обычно более полезны и более высокого качества и с большей вероятностью привлекут голоса.