I was googling on Sessions and mvc3, and I found this link. To that question a marc-gravell answered
The session only really exists during the processing of an action - I wouldn't expect it to be valid in the constructor of a controller. For example, the controller might (for all I know) be re-used between requests.
I think that may not be the case by reading further on mvc requests and creation of controller, I found this:
A Controller is created for every request by the ControllerFactory (which by default is the DefaultControllerFactory).
So I think, Marc was incorrect and we can simply check the Session exist or not from controller's constructor.
In short, should I follow Marc's answer, or not? Or is there any better way to check sessions with mvc?