本文整理汇总了C#中System.Configuration.Configuration.GetSectionXml方法的典型用法代码示例。如果您正苦于以下问题:C# Configuration.GetSectionXml方法的具体用法?C# Configuration.GetSectionXml怎么用?C# Configuration.GetSectionXml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Configuration.Configuration
的用法示例。
在下文中一共展示了Configuration.GetSectionXml方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteData
public override void WriteData (Configuration config, XmlWriter writer, ConfigurationSaveMode mode)
{
string xml;
ConfigurationSection section = config.GetSectionInstance (this, false);
if (section != null) {
ConfigurationSection parentSection = config.Parent != null ? config.Parent.GetSectionInstance (this, false) : null;
xml = section.SerializeSection (parentSection, Name, mode);
string externalDataXml = section.ExternalDataXml;
string filePath = config.FilePath;
if (!String.IsNullOrEmpty (filePath) && !String.IsNullOrEmpty (externalDataXml)) {
string path = Path.Combine (Path.GetDirectoryName (filePath), section.SectionInformation.ConfigSource);
using (StreamWriter sw = new StreamWriter (path)) {
sw.Write (externalDataXml);
}
}
if (section.SectionInformation.IsProtected) {
StringBuilder sb = new StringBuilder ();
sb.AppendFormat ("<{0} configProtectionProvider=\"{1}\">\n",
Name,
section.SectionInformation.ProtectionProvider.Name);
sb.Append (config.ConfigHost.EncryptSection (xml,
section.SectionInformation.ProtectionProvider,
ProtectedConfiguration.Section));
sb.AppendFormat ("</{0}>", Name);
xml = sb.ToString ();
}
}
else {
xml = config.GetSectionXml (this);
}
if (!string.IsNullOrEmpty (xml)) {
writer.WriteRaw (xml);
/* XmlTextReader tr = new XmlTextReader (new StringReader (xml));
writer.WriteNode (tr, true);
tr.Close ();*/
}
}
示例2: HasDataContent
public override bool HasDataContent (Configuration config)
{
return config.GetSectionInstance (this, false) != null || config.GetSectionXml (this) != null;
}
示例3: ReadData
public override void ReadData (Configuration config, XmlReader reader, bool overrideAllowed)
{
if (!config.HasFile && !allowLocation)
throw new ConfigurationErrorsException ("The configuration section <" + Name + "> cannot be defined inside a <location> element.", reader);
if (!config.ConfigHost.IsDefinitionAllowed (config.ConfigPath, allowDefinition, allowExeDefinition)) {
object ctx = allowExeDefinition != ConfigurationAllowExeDefinition.MachineToApplication ? (object) allowExeDefinition : (object) allowDefinition;
throw new ConfigurationErrorsException ("The section <" + Name + "> can't be defined in this configuration file (the allowed definition context is '" + ctx + "').", reader);
}
if (config.GetSectionXml (this) != null)
ThrowException ("The section <" + Name + "> is defined more than once in the same configuration file.", reader);
config.SetSectionXml (this, reader.ReadOuterXml ());
}