#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. Пожалуйста, не публикуйте только код в качестве ответа, но также предоставьте объяснение, что делает ваш код и как он решает проблему вопроса. Ответы с объяснением обычно более полезны и более высокого качества и с большей вероятностью привлекут голоса.