Czytanie plików cookie w c #

Chcę, aby ktoś, kto odwiedza moją umiędzynarodowioną witrynę, mógł zmienić język. Myślałem, że najlepszym sposobem będzie przechowywanie języka wybranego w pliku cookie - więc gdy strona się ładuje, może wyszukać preferowany język w pliku cookie.

Pisanie pliku cookie przebiega doskonale, jednak wciąż próbuję go odczytać przy błędach. Jako że jestem nowicjuszem w C #, mam problem z tłumaczeniem błędów, które rzuca na mnie studio wizualne.

Chcę wartość pliku cookie o nazwie „UserSettings” w łańcuchu zwanym lang. Próbuję tak:

string lang = Request.Cookies["UserSettings"].Value;

Wystąpił błąd:

Odwołanie do obiektu nie jest ustawione na wystąpienie obiektu

Myślę, że problem musi być po prawej stronie instrukcji, ponieważ inicjalizuję ciąg po lewej stronie.

Próbowałem również zrobić wystąpienie pliku cookie, robiąc to

HttpCookie cookie = Request.Cookies["UserSettings"].Value;

ale studio wizualne wcale tego nie lubi.

Co ja robię źle? Czy muszę utworzyć instancję obiektu Request? Każda pomoc byłaby doceniana.

Podążam za różnymi samouczkami na ten temat, ale wszystkie powodują ten sam błąd.

EDYTOWAĆ: Zauważyłem, że miałem

HttpCookie cookie = Request.Cookies["UserSettings"].Value;

Zmieniłem go na:

HttpCookie cookie = Request.Cookies["UserSettings"]; 

ale bez powodzenia, nadal nie działa.

EDYTOWAĆ: tak powstaje moje ciasteczko

 public void Application_BeginRequest()
    {
        myCookie = new HttpCookie("UserSettings");
        myCookie.Value = "nl";
        myCookie.Expires = DateTime.Now.AddDays(1);
        Response.Cookies.Add(myCookie);
        hc = new HomeController();
    }

Moje ciasteczko jest w 100% tam, jestem absolutnie pewien, widzę to w Firefox-web developer.

AKTUALIZACJA: to jest dokładny kod, który teraz dzwonię

        public string getLang()
    {
       // HttpCookie aCookie = Request.Cookies["UserSettings"];
       //  string lang = Server.HtmlEncode(aCookie.Value);
       //  if (lang != null)
       // {
       //      currentLanguage = lang;
       //  }
        return currentLanguage;
    }

w ten sposób mój kod się kompiluje, jeśli odkomentuję mój kod, a następnie wykonam go (błąd @ pierwsza linia tej metody)

questionAnswers(7)

yourAnswerToTheQuestion