ASP.NET MVC - Dostęp do obiektu HttpContext w kontrolerze aplikacji
Czasem by się chciało wykonać w kontrolerze jakieś operacje z użyciem HttpContext, dzięki któremu możemy między innymi otrzymać dostęp do obiektu Request a w dalszej kolejności pracować, dajmy na to, wykorzystując aktualnie adres pod jakim widnieje aplikacja. Niestety, w takiej sytuacji szybko możemy przekonać się, że HttpContext jest w kontrolerze NULLem i w efekcie dostaniemy wyjątek. Ten wpis powie nam jak sobie z tym poradzić.
Jak uzyskać dostęp do HttpContext w kontrolerze?
Jak już we wstępie wspomniałem, musiałem podczas ostatniej pracy z aplikacją stworzoną w technologii ASP.NET MVC, operować na obiekcie HttpContext w kontrolerze. Niestety... jego wartość jest nullem. Na szczęście okazuje się, że możemy sami opakować ten obiekt, uzyskując pełen dostęp do HttpContext-u. Wystarczy dopisać poniższą własność do kodu naszego kontrolera, albo co wygodniejsze, do kontrolera bazowego:get
{
HttpContextWrapper httpContext = new HttpContextWrapper(System.Web.HttpContext.Current);
return (HttpContextBase)httpContext;
}
}
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!