예제 #1
0
 private static void LoadMinifiers(XElement xe, string elementName, IDictionary<string, MinifierInfo> map)
 {
     foreach (var childXe in xe.ChildrenOfChild(elementName, SchemaConstants.Namespace))
     {
         var name = childXe.Attr<string>(SchemaConstants.Minifier.Name);
         if (map.ContainsKey(name))
             throw new XmlSchemaException(string.Format(CultureInfo.InvariantCulture, 
                                              "Minifier {0} already exists", name));
         var typeName = childXe.Attr<string>(SchemaConstants.Minifier.Type);
         var type = ModelUtils.LoadType("Minifier", typeName, SchemaConstants.Minifier.ValidTypes);
         var minifier = new MinifierInfo
                            {
                                Name = name,
                                Type = type,
                                Parameters = childXe.Elements(XName.Get(SchemaConstants.Param.Root, SchemaConstants.Namespace)).ToList(),
                                BinderType = GetBinderType(childXe),
                            };
         map.Add(name, minifier);
     }
 }
예제 #2
0
 private void LoadCacheVaryProvider(XElement xe)
 {
     var providerInfoList = new List<CacheVaryProviderInfo>();
     foreach (var child in xe.ChildrenOfChild(SchemaConstants.Setting.CacheVaryProviders, SchemaConstants.Namespace))
     {
         var typeName = child.Attr<string>(SchemaConstants.CacheVaryProvider.Type);
         var type = ModelUtils.LoadType("CacheVaryProvider", typeName, SchemaConstants.CacheVaryProvider.ValidTypes);
         var acceptedResourceSets = child.Attr<string>(SchemaConstants.CacheVaryProvider.AcceptedResourceSets);
         var setNameList = acceptedResourceSets == null
                                    ? null
                                    : acceptedResourceSets.Trim(';', ' ').Split(';').ToList();
         var provider = new CacheVaryProviderInfo
         {
             Type = type,
             Parameters = child.Elements(XName.Get(SchemaConstants.Param.Root, SchemaConstants.Namespace)).ToList(),
             BinderType = GetBinderType(child),
             ResourceSetNames = setNameList
         };
         providerInfoList.Add(provider);
     }
     CacheVaryProviderInfoList = providerInfoList.AsReadOnly();
 }