Sobes.tech
Middle+
133
questionbank

Приходилось ли тебе разрабатывать собственные middleware?

Answer from AI

sobes.tech AI

Да, приходилось реализовать middleware для обработки запросов в ASP.NET Core приложениях.

Задачи, которые решал:

  • Логирование входящих запросов и исходящих ответов.
  • Обработка ошибок и исключений.
  • Аутентификация и авторизация.
  • Защита от CSRF атак.
  • Изменение заголовков HTTP.

Пример простого logging middleware:

// Пример простого logging middleware
public class LoggingMiddleware
{
    private readonly RequestDelegate _next;
    private readonly ILogger<LoggingMiddleware> _logger;

    public LoggingMiddleware(RequestDelegate next, ILogger<LoggingMiddleware> logger)
    {
        _next = next;
        _logger = logger;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        _logger.LogInformation($"Incoming request: {context.Request.Method} {context.Request.Path}");
        await _next(context); // Передача запроса следующему middleware
        _logger.LogInformation($"Outgoing response: {context.Response.StatusCode}");
    }
}

// Использование в Startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ... другие middleware
    app.UseMiddleware<LoggingMiddleware>();
    // ... другие middleware
}