title: How to completely reset a c# app in code?
body: <p>I have an app with login/logout functionality. When the user logs out, I want to completely reset all classes and variables (I use static classes so this makes the problem even harder).</p>
  
  <p>I have decided that its best to just leave the resetting and do a total reload of the app - the user wouldn't know the difference and it would clear any possible breadcrumbs.</p>
  
  <p>So I would like some ideas on either of the following (whichever is best/easiest)</p>
  
  <p>1) Reload the app by closing the process itself and restarting
  2) Keep the app running and reset all data and variables (including windows) - possibly by AppDomain.Unload / Load or some combo</p>
  
  <p>Any advice?</p>