После iisreset'а
обнеляется HttpContext.Current.Cache
Сессия не обнуляется — у неё ServerState, а не InProc.
В сессии храняться контролы (которые сериализации — не подлежат!)
Ситуация такова:
1) ViewState — отключен
2) Session — нужна поддержка ISerializable
3) Cache — после iisreset'a
4) Application — он и в африке аппликатион
Что бы могдо помочь
— отследить момент начала рестарта
— отследить состояние о том что новый процесс...
— при рестарте ASP.NET что бы не убивался кеш...