void DisableAutosave(IAzureSession session, bool writeAutoSaveFile, out ContextAutosaveSettings result)
        {
            var    store     = session.DataStore;
            string tokenPath = Path.Combine(session.TokenCacheDirectory, session.TokenCacheFile);

            result = new ContextAutosaveSettings
            {
                Mode = ContextSaveMode.Process
            };

            FileUtilities.DataStore    = session.DataStore;
            session.ARMContextSaveMode = ContextSaveMode.Process;
            var memoryCache = session.TokenCache as AuthenticationStoreTokenCache;

            if (memoryCache == null)
            {
                var diskCache = session.TokenCache as ProtectedFileTokenCache;
                memoryCache = new AuthenticationStoreTokenCache(new AzureTokenCache());
                if (diskCache != null && diskCache.Count > 0)
                {
                    memoryCache.Deserialize(diskCache.Serialize());
                }

                session.TokenCache = memoryCache;
            }

            if (writeAutoSaveFile)
            {
                FileUtilities.EnsureDirectoryExists(session.ProfileDirectory);
                string autoSavePath = Path.Combine(session.ProfileDirectory, ContextAutosaveSettings.AutoSaveSettingsFile);
                session.DataStore.WriteFile(autoSavePath, JsonConvert.SerializeObject(result));
            }
        }
        public override void SetTokenCacheForProfile(IAzureContextContainer profile)
        {
            base.SetTokenCacheForProfile(profile);
            var cache = new AuthenticationStoreTokenCache(TokenCache.DefaultShared);

            if (profile.HasTokenCache())
            {
                cache.Deserialize(profile.GetTokenCache().CacheData);
            }

            AzureSession.Instance.TokenCache = cache;
            profile.SetTokenCache(cache);
        }
        private void DisableAutosave(IAzureSession session)
        {
            session.ARMContextSaveMode = ContextSaveMode.Process;
            var memoryCache = session.TokenCache as AuthenticationStoreTokenCache;

            if (memoryCache == null)
            {
                var diskCache = session.TokenCache as ProtectedFileTokenCache;
                memoryCache = new AuthenticationStoreTokenCache(new AzureTokenCache());
                if (diskCache != null && diskCache.Count > 0)
                {
                    memoryCache.Deserialize(diskCache.Serialize());
                }

                session.TokenCache = memoryCache;
            }
        }