summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Messaging/Configuration/DotNetOpenAuthSection.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.Messaging/Configuration/DotNetOpenAuthSection.cs')
-rw-r--r--src/DotNetOpenAuth.Messaging/Configuration/DotNetOpenAuthSection.cs29
1 files changed, 8 insertions, 21 deletions
diff --git a/src/DotNetOpenAuth.Messaging/Configuration/DotNetOpenAuthSection.cs b/src/DotNetOpenAuth.Messaging/Configuration/DotNetOpenAuthSection.cs
index e784c7e..70c8cce 100644
--- a/src/DotNetOpenAuth.Messaging/Configuration/DotNetOpenAuthSection.cs
+++ b/src/DotNetOpenAuth.Messaging/Configuration/DotNetOpenAuthSection.cs
@@ -51,25 +51,6 @@ namespace DotNetOpenAuth.Configuration {
}
/// <summary>
- /// Gets the configuration section from the .config file.
- /// </summary>
- public static DotNetOpenAuthSection Configuration {
- get {
- Contract.Ensures(Contract.Result<DotNetOpenAuthSection>() != null);
- Configuration configuration;
- if (HttpContext.Current != null) {
- configuration = HttpContext.Current.Request.ApplicationPath != null
- ? WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath)
- : ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
- } else {
- configuration = ConfigurationManager.OpenExeConfiguration(null);
- }
-
- return (DotNetOpenAuthSection)configuration.GetSectionGroup(SectionName) ?? new DotNetOpenAuthSection(true);
- }
- }
-
- /// <summary>
/// Gets the messaging configuration element.
/// </summary>
public static MessagingElement Messaging {
@@ -86,8 +67,14 @@ namespace DotNetOpenAuth.Configuration {
/// <summary>
/// Gets a named section in this section group, or <c>null</c> if no such section is defined.
/// </summary>
- internal ConfigurationSection GetNamedSection(string name) {
- return this.synthesizedInstance ? null : this.Sections[name];
+ internal static ConfigurationSection GetNamedSection(string name) {
+ string fullyQualifiedSectionName = SectionName + "/" + name;
+ if (HttpContext.Current != null) {
+ return (ConfigurationSection)WebConfigurationManager.GetSection(fullyQualifiedSectionName);
+ } else {
+ var configuration = ConfigurationManager.OpenExeConfiguration(null);
+ return configuration != null ? configuration.GetSection(fullyQualifiedSectionName) : null;
+ }
}
}
}