private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry)
        {
            Assembly assembly = null;

            if (!string.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
            {
                assembly = this._parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);
            }
            if (!string.IsNullOrEmpty(nsRegisterEntry.Namespace))
            {
                this._parser.AddImportEntry(nsRegisterEntry.Namespace);
            }
            NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, this._parser);

            if (this._prefixedMappers == null)
            {
                this._prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
            }
            TagPrefixTagNameToTypeMapper mapper2 = (TagPrefixTagNameToTypeMapper)this._prefixedMappers[nsRegisterEntry.TagPrefix];

            if (mapper2 == null)
            {
                mapper2 = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
                this._prefixedMappers[nsRegisterEntry.TagPrefix] = mapper2;
            }
            mapper2.AddNamespaceMapper(mapper);
            this.TagRegisterEntries.Add(nsRegisterEntry);
        }
示例#2
0
        private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry)
        {
            // Load the assembly if it was specified
            Assembly assembly = null;

            if (!String.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
            {
                assembly = _parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);
            }

            // Import the namespace if there is one
            if (!String.IsNullOrEmpty(nsRegisterEntry.Namespace))
            {
                _parser.AddImportEntry(nsRegisterEntry.Namespace);
            }

            // Create a mapper for this specific namespace/assembly pair
            NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, _parser);

            // Figure out which prefix mapper this new namespace mapper goes into
            if (_prefixedMappers == null)
            {
                _prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
            }

            TagPrefixTagNameToTypeMapper prefixMapper = (TagPrefixTagNameToTypeMapper)_prefixedMappers[nsRegisterEntry.TagPrefix];

            if (prefixMapper == null)
            {
                prefixMapper = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
                _prefixedMappers[nsRegisterEntry.TagPrefix] = prefixMapper;
            }

            prefixMapper.AddNamespaceMapper(mapper);

            TagRegisterEntries.Add(nsRegisterEntry);
        }
        internal void AddSubMapper(string prefix, string ns, Assembly assembly)
        {
            NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(ns, assembly);

            if (_prefixedMappers == null)
            {
                _prefixedMappers = new Hashtable(SymbolHashCodeProvider.Default, SymbolEqualComparer.Default);
            }

            // Check if this prefix has already been registered
            NamespaceTagNameToTypeMapper oldMapper = (NamespaceTagNameToTypeMapper)_prefixedMappers[prefix];

            if (oldMapper != null)
            {
                // If it has, complain if the namespace is different (ASURT 55164)
                if (!oldMapper.NS.Equals(mapper.NS))
                {
                    throw new HttpException(
                              HttpRuntime.FormatResourceString(SR.Duplicate_prefix_map, prefix, oldMapper.NS));
                }
            }

            _prefixedMappers[prefix] = mapper;
        }
        private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry) {
            // Load the assembly if it was specified
            Assembly assembly = null;
            if (!String.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
                assembly = _parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);

            // Import the namespace if there is one
            if (!String.IsNullOrEmpty(nsRegisterEntry.Namespace))
                _parser.AddImportEntry(nsRegisterEntry.Namespace);

            // Create a mapper for this specific namespace/assembly pair
            NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, _parser);

            // Figure out which prefix mapper this new namespace mapper goes into
            if (_prefixedMappers == null) {
                _prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
            }

            TagPrefixTagNameToTypeMapper prefixMapper = (TagPrefixTagNameToTypeMapper)_prefixedMappers[nsRegisterEntry.TagPrefix];
            if (prefixMapper == null) {
                prefixMapper = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
                _prefixedMappers[nsRegisterEntry.TagPrefix] = prefixMapper;
            }

            prefixMapper.AddNamespaceMapper(mapper);

            TagRegisterEntries.Add(nsRegisterEntry);
        }
 internal void AddNamespaceMapper(NamespaceTagNameToTypeMapper mapper) {
     _mappers.Add(mapper);
 }
示例#6
0
 internal void AddNamespaceMapper(NamespaceTagNameToTypeMapper mapper)
 {
     _mappers.Add(mapper);
 }
 private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry)
 {
     Assembly assembly = null;
     if (!string.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
     {
         assembly = this._parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);
     }
     if (!string.IsNullOrEmpty(nsRegisterEntry.Namespace))
     {
         this._parser.AddImportEntry(nsRegisterEntry.Namespace);
     }
     NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, this._parser);
     if (this._prefixedMappers == null)
     {
         this._prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
     }
     TagPrefixTagNameToTypeMapper mapper2 = (TagPrefixTagNameToTypeMapper) this._prefixedMappers[nsRegisterEntry.TagPrefix];
     if (mapper2 == null)
     {
         mapper2 = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
         this._prefixedMappers[nsRegisterEntry.TagPrefix] = mapper2;
     }
     mapper2.AddNamespaceMapper(mapper);
     this.TagRegisterEntries.Add(nsRegisterEntry);
 }