Back to questions
Junior — Middle
67
Можете ли вы перечислить и описать собственные middleware, которые вы создали или использовали в своих проектах?
Answer from AI
sobes.tech AI
В проектах на C# с использованием ASP.NET Core я создавал собственные middleware для решения различных задач, например:
-
Логирование запросов и ответов: middleware перехватывает HTTP-запросы и ответы, записывая важную информацию (URL, метод, время выполнения) для мониторинга и отладки.
-
Обработка ошибок: middleware, который перехватывает исключения, возникающие в конвейере обработки запросов, и формирует единый формат ответа с ошибкой.
-
Аутентификация и авторизация: собственные middleware для проверки токенов или других методов аутентификации, если стандартные решения не подходят.
Пример простого middleware для логирования запросов:
public class RequestLoggingMiddleware
{
private readonly RequestDelegate _next;
public RequestLoggingMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext context)
{
Console.WriteLine($"Request: {context.Request.Method} {context.Request.Path}");
await _next(context);
Console.WriteLine($"Response Status: {context.Response.StatusCode}");
}
}
// Регистрация в Startup.cs
// app.UseMiddleware<RequestLoggingMiddleware>();