Yes, it is a good idea, as this one is lower level as form state or application state was in web forms. It is well bound with IIS (and the web standards also), and you have several possibilities to
tailor it[
^] to your needs. And by the way you have nothing else in the hand to make your application "statefull". Thus it has nothing to do with the MVC patterns or ASP.NET MVC itself. If you consult the pipeline, you can see that both web forms, web pages and mvc relies on asp.net framework. Session handling is managed at that level.
Just an advice: keep in mind, that session state is not available at the time of the construction of a controller. If you need something like this, you will have to use IoC or override
Initialize[
^] method.