benjy
benjy

Reputation: 4716

When in the ASP.NET MVC 3 Controller lifecycle does the controllerContext get constructed?

When in the ASP.NET MVC 3 Controller lifecycle does the ControllerContext get constructed?

I have the following code in my controller's constructor:

if ((Session == null || Session.IsNewSession || Session["SecureAuthHash"] == null) &&
    (ValueProvider == null || ValueProvider.GetValue("controller").ToString() != "Account"))
{
    RedirectToAction("Login", "Account");
}

And I get the following error:

Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: controllerContext

When is the controllerContext available so my code can run? This is supposed to run before any other code, so I really don't want to have to put it in each action method...but I guess that might be the only way.

TIA, Benjy

Upvotes: 1

Views: 753

Answers (1)

Darin Dimitrov
Darin Dimitrov

Reputation: 1039278

When in the ASP.NET MVC 3 Controller lifecycle does the ControllerContext get constructed?

This happens inside the Initialize method. Never access any HttpContext bound object in a controller constructor.

Upvotes: 5

Related Questions