Beispiel #1
0
        /// <summary>
        /// Saves the module cache.
        /// </summary>
        void SaveModuleCache(ModuleManager manager, FileInfo fileInfo)
        {
            Log.Source.TraceInformation("Save cache {0}", fileInfo);

            var data = new ArrayList();

            // << Stamp
            data.Add(fileInfo.LastWriteTime.Ticks);

            // << Culture
            if (manager.CachedResources)
            {
                data.Add(manager.CurrentUICulture.Name);
            }
            else
            {
                data.Add(string.Empty);
            }

            // << Settings
            data.Add(manager.HasSettings);

            // << Host
            string hostClassName = manager.GetModuleHostClassName();

            if (hostClassName != null)
            {
                // Type
                data.Add((int)ModuleItemKind.Host);
                // Class
                data.Add(hostClassName);
            }

            // << Actions
            foreach (ProxyAction it in Host.Actions.Values)
            {
                if (it.Manager == manager)
                {
                    it.WriteCache(data);
                }
            }

            // to write
            _Cache.Set(manager.AssemblyPath, data);
        }
Beispiel #2
0
        /// <summary>
        /// Saves the module cache.
        /// </summary>
        void SaveModuleCache(ModuleManager manager, FileInfo fileInfo)
        {
            Log.Source.TraceInformation("Save cache {0}", fileInfo);

            var data = new ArrayList();

            // << Stamp
            data.Add(fileInfo.LastWriteTime.Ticks);

            // << Culture
            if (manager.CachedResources)
                data.Add(manager.CurrentUICulture.Name);
            else
                data.Add(string.Empty);

            // << Settings
            data.Add(manager.HasSettings);

            // << Host
            string hostClassName = manager.GetModuleHostClassName();
            if (hostClassName != null)
            {
                // Type
                data.Add((int)ModuleItemKind.Host);
                // Class
                data.Add(hostClassName);
            }

            // << Actions
            foreach (ProxyAction it in Host.Actions.Values)
                if (it.Manager == manager)
                    it.WriteCache(data);

            // to write
            _Cache.Set(manager.AssemblyPath, data);
        }