Middle+
136
questionbank
Приходилось ли тебе разрабатывать собственные middleware?
Ответ от нейросети
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
}