MC, 11:59 piątek, 31.08.2012 r.
Ilustracja do artykułu: ASP.NET MVC - Dostęp do obiektu HttpContext w kontrolerze aplikacji

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:
public new HttpContextBase HttpContext {
get
{
HttpContextWrapper httpContext = new HttpContextWrapper(System.Web.HttpContext.Current);
return (HttpContextBase)httpContext;
}
}

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: