Если процесс перезапускается, все переменные теряются.Но: IIS автоматически сериализует переменные сеанса в память других процессов при повторном цикле пула.Когда пул перезапускается, переменные сеанса десериализуются и, таким образом, восстанавливаются.Это делается с помощью функции сериализации .NET, которая означает, что все переменные сеанса должны быть помечены атрибутом [Serializable], в противном случае вы получите исключения во время выполнения.