Ejemplo n.º 1
0
        private static IEnumerable <MetaConfigurationSourceInstanceElement> GetMatchedInstances(MetaConfigurationSourceInstanceElementCollection instances, InstanceMode mode)
        {
            List <MetaConfigurationSourceInstanceElement> modeMatched = new List <MetaConfigurationSourceInstanceElement>(instances.FilterByInstanceMode(mode));

            List <MetaConfigurationSourceInstanceElement> result = null;

            if (mode == InstanceMode.Web)
            {
                //匹配站点名称
                List <MetaConfigurationSourceInstanceElement> matchedItems = modeMatched.FindAll(i => string.Compare(i.Name, HostingEnvironment.SiteName, true) == 0);

                if (matchedItems.Count == 0)
                {
                    //如果站点名称没有匹配到,则添加默认项
                    if (modeMatched.Count > 0)
                    {
                        matchedItems.Add(modeMatched[0]);
                    }
                }

                result = new List <MetaConfigurationSourceInstanceElement>(matchedItems);
            }
            else
            {
                result = modeMatched;
            }

            return(result);
        }