Wstrzyknięcie przez konstruktor - brak wartości property

0

Cześć,
Mam taki przypadek, mam napisany middleware gdzie sprawdzam i odczytuję sobie z headerów sesję, następnie tworze sobie prosty obiekt, gdzie w konstruktorze przypisuję sobie sessionId. Tutaj wszystko jest w porządku. Następnie w moim handlerze, wstrzykuję sobie przez konstruktor ten obiekt i przy próbie odczytu id sesji dostaję null'a.
Zastanawiam się gdzie popełniam błąd ( zakładam, że jest on banalny, ale jeszcze go nie widzę)
Tak wygląda klasa dla sesji.

public class SessionIdentifier
    {
        private string SessionId;

        public SessionIdentifier()
        {
        }

        public SessionIdentifier(string sessionId)
        {
            SessionId = sessionId;
        }

        public string GetSession() => SessionId;
    }

Klasa jest zarejestrowana jako InstancePerLifetimeScope (AutoFac)
Czy mogę prosić o jakieś wskazówki ?

Z góry dziękuje.

5

@dot.netowiec:

A ten drugi konstruktor bezparametrowy to jakoś konieczny ? Wymóg frameworku? Czy można go zabrac / zmniejszyć dostępność ?

Gdybyś tam inicjował stringa np podstawowym słowem kluczowym d... to się założę, że byś go zobaczył.

2
dot.netowiec napisał(a):

Cześć,
Mam taki przypadek, mam napisany middleware gdzie sprawdzam i odczytuję sobie z headerów sesję, następnie tworze sobie prosty obiekt, gdzie w konstruktorze przypisuję sobie sessionId. Tutaj wszystko jest w porządku. Następnie w moim handlerze, wstrzykuję sobie przez konstruktor ten obiekt i przy próbie odczytu id sesji dostaję null'a.

No ale jak to, że tworzysz obiekt w middleware a potem go wstrzykujesz w handler. Toż to nie możliwe raczej.

0

@dot.netowiec: po co używasz HttpContext.Items, skoro te dane masz i tak w HttpContext?

1 użytkowników online, w tym zalogowanych: 0, gości: 1