Я пытаюсь разработать библиотеку классов, в которой хочу реализовать собственный DbContext. В методе SaveChanges DbContext мне нужно получить информацию о текущем пользователе (отдел, имя пользователя и т. д.) для целей аудита. Некоторая часть кода DbContext приведена ниже:
(В данном случае DbContext зависит от HttpContext, это
правильно?)
Использование объекта ThreadStatic вместо HttpContext.Items code> и получение информации от объекта(читал некоторые сообщения
о том, что ThreadStatic небезопасен)
Вопрос : Какой лучше всего подходит для моего случая? Есть ли другой способ, который вы предлагаете?
Я пытаюсь разработать библиотеку классов, в которой хочу реализовать собственный DbContext. В методе SaveChanges DbContext мне нужно получить информацию о текущем пользователе (отдел, имя пользователя и т. д.) для целей аудита. Некоторая часть кода DbContext приведена ниже:
[code]public override int SaveChanges() { // find all changed entities which is ICreateAuditedEntity var addedAuditedEntities = ChangeTracker.Entries() .Where(p => p.State == EntityState.Added) .Select(p => p.Entity);
[list] [*]Использование HttpContext.Items чтобы сохранить информацию о пользователе, внедрив IHttpContextAccessor и получив информацию из [code]HttpContext.Items[/code](В данном случае DbContext зависит от HttpContext, это правильно?) [*]Использование объекта ThreadStatic вместо HttpContext.Items code> и получение информации от объекта(читал некоторые сообщения о том, что ThreadStatic небезопасен) [/list]
[b]Вопрос [/b] : Какой лучше всего подходит для моего случая? Есть ли другой способ, который вы предлагаете?