Application restart is a common issue in ASP.NET web application. Here is a very good blog entry providing information on how to deal with such issue. Thanks Tess for the informative stuff:

#ASP.NET Case Study: Lost session variables and appdomain recycles
http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx