e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
86 lines
3.5 KiB
C#
86 lines
3.5 KiB
C#
//------------------------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.ServiceModel.Configuration
|
|
{
|
|
using System.Configuration;
|
|
using System.Runtime;
|
|
using System.Security;
|
|
using System.ServiceModel.Diagnostics;
|
|
|
|
public sealed partial class DiagnosticSection : ConfigurationSection
|
|
{
|
|
// These three constructors are used by the configuration system.
|
|
public DiagnosticSection()
|
|
: base()
|
|
{
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.WmiProviderEnabled, DefaultValue = false)]
|
|
public bool WmiProviderEnabled
|
|
{
|
|
get { return (bool)base[ConfigurationStrings.WmiProviderEnabled]; }
|
|
set { base[ConfigurationStrings.WmiProviderEnabled] = value; }
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.MessageLogging, Options = ConfigurationPropertyOptions.None)]
|
|
public MessageLoggingElement MessageLogging
|
|
{
|
|
get { return (MessageLoggingElement)base[ConfigurationStrings.MessageLogging]; }
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.EndToEndTracing, Options = ConfigurationPropertyOptions.None)]
|
|
public EndToEndTracingElement EndToEndTracing
|
|
{
|
|
get { return (EndToEndTracingElement)base[ConfigurationStrings.EndToEndTracing]; }
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.PerformanceCounters, DefaultValue = PerformanceCounterScope.Default)]
|
|
[ServiceModelEnumValidator(typeof(PerformanceCounterScopeHelper))]
|
|
public PerformanceCounterScope PerformanceCounters
|
|
{
|
|
get { return (PerformanceCounterScope)base[ConfigurationStrings.PerformanceCounters]; }
|
|
set { base[ConfigurationStrings.PerformanceCounters] = value; }
|
|
}
|
|
|
|
[ConfigurationProperty(ConfigurationStrings.EtwProviderId, DefaultValue = "{c651f5f6-1c0d-492e-8ae1-b4efd7c9d503}")]
|
|
[StringValidator(MinLength = 32)]
|
|
public string EtwProviderId
|
|
{
|
|
get { return (string)base[ConfigurationStrings.EtwProviderId]; }
|
|
set { base[ConfigurationStrings.EtwProviderId] = value; }
|
|
}
|
|
|
|
internal static DiagnosticSection GetSection()
|
|
{
|
|
return (DiagnosticSection)ConfigurationHelpers.GetSection(ConfigurationStrings.DiagnosticSectionPath);
|
|
}
|
|
|
|
[Fx.Tag.SecurityNote(Critical = "Calls Critical method UnsafeGetSection which elevates in order to fetch config."
|
|
+ "Caller must guard access to resultant config section.")]
|
|
[SecurityCritical]
|
|
internal static DiagnosticSection UnsafeGetSection()
|
|
{
|
|
return (DiagnosticSection)ConfigurationHelpers.UnsafeGetSection(ConfigurationStrings.DiagnosticSectionPath);
|
|
}
|
|
|
|
[Fx.Tag.SecurityNote(Critical = "Calls Critical method UnsafeGetSection which elevates in order to fetch config."
|
|
+ "Caller must guard access to resultant config section.")]
|
|
[SecurityCritical]
|
|
internal static DiagnosticSection UnsafeGetSectionNoTrace()
|
|
{
|
|
return (DiagnosticSection)ConfigurationHelpers.UnsafeGetSectionNoTrace(ConfigurationStrings.DiagnosticSectionPath);
|
|
}
|
|
|
|
internal bool IsEtwProviderIdFromConfigFile()
|
|
{
|
|
return PropertyValueOrigin.Default != this.ElementInformation.Properties[ConfigurationStrings.EtwProviderId].ValueOrigin;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|