Доступ к Httpcontext вне контроллера в ядре .net - PullRequest
0 голосов
/ 05 июля 2019

Я не могу получить доступ к переменным Session за пределами контроллеров, есть более 200 примеров, которые они советуют вам добавить;

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

services.AddHttpContextAccessor();

и использовать

public class DummyReference
{
        private IHttpContextAccessor _httpContextAccessor;
        public DummyReference(IHttpContextAccessor httpContextAccessor)
        {
            _httpContextAccessor = httpContextAccessor;
        }
        public void DoSomething()
        {
            // access _httpcontextaccessor to reach sessions variables
        }
}

Но никто не упоминает, как вызвать этот класс из моего контроллера.Как я могу достичь этого класса?

Если изменить его на статический, то мне нужно обходной конструкции.Если я его создаю, мне нужен httpcontextaccessor для конструкции.

Для тех, кто хочет узнать больше, почему я подошел подобным образом, я хочу написать класс, включающий методы, такие как шифрование, дешифрование таблиц базы данных RowID для маскирования в VIEW со значением + sessionvariable toубедитесь, что он не изменен.

Также я хочу, чтобы DummyReference был статическим, чтобы я мог легко получить доступ к DummyReference.EncryptValue или DecryptValue.

1 Ответ

0 голосов
/ 05 июля 2019

Этот код возвращает вам текущий HttpContext. Сессии немного отличаются: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state?view=aspnetcore-2.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...