// Token: 0x0600001F RID: 31 RVA: 0x00002A58 File Offset: 0x00000C58
 private static bool TryAddProviderType(Type type, CreateProviderDelegate createProvider)
 {
     try
     {
         foreach (object obj in type.GetCustomAttributes(typeof(ProviderAttribute), false))
         {
             ProviderAttribute attributes   = obj as ProviderAttribute;
             ProviderInfo      providerInfo = new ProviderInfo(type, attributes, createProvider);
             ProvidersTable.providersList.Add(providerInfo);
             XmlSchema xmlSchema = ProvidersTable.LoadSchemaFromResource(type.Assembly, providerInfo.Attributes.RequestSchemaFile);
             if (!ProvidersTable.RequestSchemaSet.Contains(xmlSchema.TargetNamespace))
             {
                 ExTraceGlobals.FrameworkTracer.TraceDebug <string, string>(0L, "[ProvidersTable::TryAddProviderType] 'adding request schema to ProvidersTable' TargetNamespace=\"{0}\";SourceUri=\"{1}\"", xmlSchema.TargetNamespace, xmlSchema.SourceUri);
                 ProvidersTable.RequestSchemaSet.Add(xmlSchema);
                 return(true);
             }
         }
     }
     catch (FormatException ex)
     {
         ExTraceGlobals.FrameworkTracer.TraceError <string, string>(0L, "[ProvidersTable::TryAddProviderType] Message=\"{0}\";StackTrace=\"{1}\"", ex.Message, ex.StackTrace);
         Common.EventLog.LogEvent(AutodiscoverEventLogConstants.Tuple_WarnCoreProviderAttributeException, Common.PeriodicKey, new object[]
         {
             type.FullName,
             ex.Message
         });
     }
     catch (ArgumentNullException ex2)
     {
         ExTraceGlobals.FrameworkTracer.TraceError <string, string>(0L, "[ProvidersTable::TryAddProviderType] Message=\"{0}\";StackTrace=\"{1}\"", ex2.Message, ex2.StackTrace);
         Common.EventLog.LogEvent(AutodiscoverEventLogConstants.Tuple_WarnCoreProviderAttributeException, Common.PeriodicKey, new object[]
         {
             type.FullName,
             ex2.Message
         });
     }
     return(false);
 }
Exemple #2
0
 internal ProviderInfo(Type systemType, ProviderAttribute attributes, CreateProviderDelegate createProvider)
 {
     this.systemType     = systemType;
     this.attributes     = attributes;
     this.createProvider = createProvider;
 }