title: Objects creation lifetime in Asp.net MVC5
body: <blockquote>
    <p>Controllers are created per request in Asp.net MVC, this is a fact. </p>
  </blockquote>
  
  <p>My question is: 
  what is the best practice for for creating common objects (Logger, Localizer, Configurator) that are used in the web application, possible methods from my knowledge are:</p>
  
  <ol>
  <li>Create the object per request then dispose it at the end of the request.</li>
  <li>Create the object at the beginning of user session then dispose it at the end of the session.</li>
  <li>Create only one object for the entire application and dispose it at application shutdown.</li>
  </ol>