title: How can I maintain shared state in a Windows Forms app in a way like Session in ASP.NET?
body: <p>How can I share 'global' application level context data between all objects living in an application. I'm thinking in terms of the currently logged on user record, which branch the user has opened to work on for a session, etc. How can I make this information available to all my forms and the classes they use for business logic services?</p>
  
  <p>Just having one big global singleton AppContext object doesn't appeal to me, but I can't think of anything else right now. Maybe extend the Application class to offer a context service to all forms? I haven't worked on desktop apps for some time and have come to rely on e.g. the ever present Session object in ASP.NET.</p>