"это то, что я искал. Вы можете внедрить путем внедрения зависимости, а затем вы можете использовать отовсюду (например, класс dbcontext или класс репо)

я есть угловой проект, и я использую .net core 2.o Web API. Я сохранил свою информацию о пользователе в JWT, и я хочу, чтобы журнал каждой операции базы данных. Я могу получить доступ к информации о пользователе, отправив jwt и получив запрос из заголовка на стороне сервера. Но проблема в том, где можно хранить? В моих старых проектах MVC, я мог хранить в сессии. Но этот проект API. И мы работаем с JWT, а не сессией. Как я могу достичь этого хранилища UserInfo во время запроса начала до конца. И я хочу получить доступ к UserInfo отовсюду. Это мой actionFilter:

 public class TestFilterAttribute : System.Web.Http.Filters.FilterAttribute, IActionFilter
    {
        public void OnActionExecuting(ActionExecutingContext context)
        {
            var requestedUserInfo= context.HttpContext.Request.Headers["Authorization"];
            ??????????????? = requestedUserInfo;
        }
        public void OnActionExecuted(ActionExecutedContext context)
        {
        }
    }

Моя архитектура такая:
Contoller => Сервис => Репозиторий. Итак, я должен отправить параметры как UserInfo во всех методах. Поэтому я не хочу добавлять все параметры метода как UserInfo. Итак, я хочу научиться избавляться от этой проблемы.

MyController.cs

 [HttpGet("GetAllStudents")]
 public async Task<ServiceResult>GetAllStudents()
    {
        var requestedUserId= context.HttpContext.Request.Headers["Authorization"];
        return await (studentService.GetAllStudents(requestedUserId));
    }

Мой сервис.cs

 public async Task<ServiceResult> GetAllStudents(int requestedUserId)
    {
        return await unitOfWork.studentRepo.GetAllStudents(requestedUserId);
    }

Мой репозиторий.cs

public async Task<List<Student>> GetAllStudents(int requestedUserId)
        {
          LogOperation(requestedUserId);
          return context.Students.ToList();
        }

Вы можете видеть, что каждый метод отправляет requestUserId. Как я могу избавиться от этого?

Ответы на вопрос(2)

Ваш ответ на вопрос