public bool IsTracingEnabled(T identity) { ExTraceConfiguration instance = ExTraceConfiguration.Instance; if (!instance.PerThreadTracingConfigured) { return(false); } if (this.traceEnabledFields == null || this.tracingConfigVersion < instance.Version) { lock (this) { if (this.traceEnabledFields == null || this.tracingConfigVersion < instance.Version) { this.traceEnabledFields = this.LoadEnabledIdentities(instance); this.tracingConfigVersion = instance.Version; } } } return(this.traceEnabledFields.Contains(identity)); }
protected override HashSet <string> LoadEnabledIdentities(ExTraceConfiguration currentInstance) { HashSet <string> hashSet = new HashSet <string>(StringComparer.OrdinalIgnoreCase); List <string> list; if (currentInstance.CustomParameters.TryGetValue("UserDN", out list)) { for (int i = 0; i < list.Count; i++) { hashSet.Add(list[i]); } } if (currentInstance.CustomParameters.TryGetValue("WindowsIdentity", out list)) { for (int j = 0; j < list.Count; j++) { hashSet.Add(list[j]); } } return(hashSet); }
protected abstract HashSet <T> LoadEnabledIdentities(ExTraceConfiguration currentInstance);