In a web application, like an ASP.NET MVC application,
global can have several meanings, actually you need to define the scope. You have the possibility to define application scope global objects, but in your case it is clear that you want to keep this value only in a session scope. If this data is large, you should use some persistence, like reloading the content from a database. But ff this is not a big object, you can use the session storage.
Have a look here:
http://www.campusmvp.net/blog/how-to-manage-session-variables-like-a-pro[
^]
MVC Test Driven Development: Session Variables[
^]
Understanding Session Management Techniques in ASP.NET[
^]
http://blogs.msdn.com/b/aspnetue/archive/2010/09/17/second_2d00_post.aspx[
^]
And be aware, that by default, you don't have session object in the controller constructor.