public Configuration OpenConfiguration()
{
if (configuration == null)
{
if (!parentResolved)
{
Configuration parentFile = parent.GetParentWithFile();
if (parentFile != null)
{
string parentRelativePath = parent.ConfigHost.GetConfigPathFromLocationSubPath(parent.LocationConfigPath, path);
parent = parentFile.FindLocationConfiguration(parentRelativePath, parent);
}
}
configuration = new Configuration(parent, path);
using (XmlTextReader tr = new ConfigXmlTextReader(new StringReader(xmlContent), path))
configuration.ReadData(tr, allowOverride);
xmlContent = null;
}
return(configuration);
}