private List <URLRewriter.Config.RewriterRule> GetRewriteRuleFromCache(string sNodeName)
        {
            string cacheKey = "MobileSearchUrlMap";
            List <URLRewriter.Config.RewriterRule> rules = CacheHelper.GetCacheItem(cacheKey) as List <URLRewriter.Config.RewriterRule>;

            if (rules != null)
            {
                return(rules);
            }

            lock (objSync)
            {
                string filePath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, mobileSearchFilePath);

                XmlNode objFatherNode = GetXMLNodeFromConfigFile(sNodeName, filePath);
                rules = new List <URLRewriter.Config.RewriterRule>();
                foreach (XmlNode xmlNode in objFatherNode.ChildNodes)
                {
                    if (!xmlNode.HasChildNodes || xmlNode.ChildNodes.Count < 2)
                    {
                        continue;
                    }

                    URLRewriter.Config.RewriterRule objRule = new URLRewriter.Config.RewriterRule();

                    objRule.LookFor = xmlNode.ChildNodes[0].InnerText;
                    objRule.SendTo  = xmlNode.ChildNodes[1].InnerText;

                    rules.Add(objRule);
                }
                return(rules);
            }
        }
示例#2
0
        private List <URLRewriter.Config.RewriterRule> GetRewriteRuleFromConfigFile(string sNodeName, string sFilePath)
        {
            lock (objFileLock)
            {
                XmlNode objFatherNode = GetXMLNodeFromConfigFile(sNodeName, sFilePath);
                WriteLog("node=" + sNodeName);
                List <URLRewriter.Config.RewriterRule> _lstMigrationRules = new List <URLRewriter.Config.RewriterRule>();
                foreach (XmlNode xmlNode in objFatherNode.ChildNodes)
                {
                    if (!xmlNode.HasChildNodes || xmlNode.ChildNodes.Count < 2)
                    {
                        continue;
                    }

                    URLRewriter.Config.RewriterRule objRule = new URLRewriter.Config.RewriterRule();

                    objRule.LookFor = xmlNode.ChildNodes[0].InnerText;
                    objRule.SendTo  = xmlNode.ChildNodes[1].InnerText;

                    _lstMigrationRules.Add(objRule);
                    WriteLog(" LookFor" + objRule.LookFor);
                    WriteLog(" SendTo" + objRule.SendTo);
                }
                return(_lstMigrationRules);
            }
        }