title: ASP.NET MVC - Best way to store data which is needed on every page?
body: <p>I'm creating an ASP.NET MVC application for students which will learn languages. So, a student logs in and continues learning from the activity where the student stopped the last time. During the learning, after every page, I have to collect the points, count the correct and wrong answers and show the current result on every page. So I need a few parameters during the whole session, like:</p>
  
  <ul>
  <li>CurrentActivityId</li>
  <li>CurrentPageId</li>
  <li>WrongAnswersCount</li>
  <li>CorrectAnswersCount</li>
  <li>CurrentResult</li>
  </ul>
  
  <p>When the user clicks on a correct answer, I should call a function and increase the CorrectAnswersCount, for the wrong answers the same.</p>
  
  <p>What is the best way to store those parameters? I already stored user data in claims, but I don't know if storing these learning parameters in claims is good to use? Can I store them somehow all together in one place, like in one class and save it into the session or is that a bad idea?</p>
  
  <p>Thanks for the help!</p>
  
  <p>EDIT</p>
  
  <p>I know how to use Session and Claims. But my question is for an advice if there are some better methods or if there are some reasons I should not use just the Session. </p>