Example #1
0
        internal static void LoadResouce(string cacheKey, string filePath)
        {
            cacheKey = cacheKey.ToUpper();
            MessageResource res = SerializationUtility.LoadFromXml <MessageResource>(filePath);

            lock (s_SyncObj)
            {
                if (s_MessageResDictionary.ContainsKey(cacheKey))
                {
                    s_MessageResDictionary[cacheKey] = res;
                }
                else
                {
                    s_MessageResDictionary.Add(cacheKey, res);
                }
            }
        }
Example #2
0
        private static WebPrinterConfigData GetData()
        {
            WebPrinterConfigData data = MemoryCache.Default.Get(CACHE_KEY) as WebPrinterConfigData;

            if (data == null)
            {
                lock (s_SyncObj)
                {
                    data = MemoryCache.Default.Get(CACHE_KEY) as WebPrinterConfigData;
                    if (data == null)
                    {
                        string path = GetConfigFilePath();
                        if (File.Exists(path))
                        {
                            data = SerializationUtility.LoadFromXml <WebPrinterConfigData>(path);
                        }
                        else
                        {
                            data = new WebPrinterConfigData
                            {
                                HandlerRegister = new HandlerRegister
                                {
                                    Handlers = new List <WebPrintHandlerSetting>(0)
                                },
                                PrinterSetting = new WebPrinterSetting
                                {
                                    Printers = new List <WebPrinter>(0)
                                }
                            };
                        }
                        CacheItemPolicy policy = new CacheItemPolicy();
                        policy.ChangeMonitors.Add(new HostFileChangeMonitor(new List <string> {
                            path
                        }));
                        policy.AbsoluteExpiration = new DateTimeOffset(2999, 12, 31, 23, 59, 59, TimeSpan.Zero);
                        MemoryCache.Default.Set(CACHE_KEY, data, policy);
                    }
                }
            }
            return(data);
        }