// Token: 0x0600001D RID: 29 RVA: 0x000028C4 File Offset: 0x00000AC4 static ProvidersTable() { StringBuilder stringBuilder = new StringBuilder(); foreach (Type type in ProvidersTable.availableProviderTypes.Member.Keys) { if (ProvidersTable.TryAddProviderType(type, ProvidersTable.availableProviderTypes.Member[type])) { stringBuilder.Append(string.Format("[{0}]", type.AssemblyQualifiedName)); } else { ExTraceGlobals.FrameworkTracer.TraceError <string>(0L, "[ProvidersTable] 'Could not load provider \"{0}\"", type.AssemblyQualifiedName); } } ProvidersTable.CompileRequestSchemaSet(); if (ProvidersTable.providersList.Count == 0) { ExTraceGlobals.FrameworkTracer.TraceError(0L, "[ProvidersTable] No providers loaded."); Common.EventLog.LogEvent(AutodiscoverEventLogConstants.Tuple_ErrCoreNoProvidersFound, Common.PeriodicKey, new object[0]); return; } ExTraceGlobals.FrameworkTracer.TraceDebug <StringBuilder>(0L, "[ProvidersTable] {0} providers found", stringBuilder); Common.EventLog.LogEvent(AutodiscoverEventLogConstants.Tuple_InfoCoreProvidersLoaded, Common.PeriodicKey, new object[] { stringBuilder.ToString() }); }
// Token: 0x06000021 RID: 33 RVA: 0x00002BE8 File Offset: 0x00000DE8 public static Provider LoadProvider(RequestData requestData) { Provider result = null; ProviderInfo providerInfo = ProvidersTable.FindProvider(requestData); if (providerInfo != null) { result = providerInfo.CreateProvider(requestData); } return(result); }
// 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); }