/// <summary> /// Loads the configuration from the application configuration file. /// </summary> public static ServerTestConfiguration Load(XmlElementCollection extensions) { if (extensions == null || extensions.Count == 0) { return(new ServerTestConfiguration()); } foreach (XmlElement element in extensions) { if (element.NamespaceURI != "http://opcfoundation.org/UA/SDK/ServerTest/Configuration.xsd") { continue; } XmlNodeReader reader = new XmlNodeReader(element); try { DataContractSerializer serializer = new DataContractSerializer(typeof(ServerTestConfiguration)); ServerTestConfiguration configuration = serializer.ReadObject(reader) as ServerTestConfiguration; if (configuration.Iterations <= 0) { configuration.Iterations = 1; } return(configuration); } finally { reader.Close(); } } return(new ServerTestConfiguration()); }
/// <summary> /// Updates the config extension with the new configuration information. /// </summary> private static void UpdateGDSConfigurationDocument(XmlElementCollection extensions, GlobalDiscoveryServerConfiguration gdsConfiguration) { XmlDocument gdsDoc = new XmlDocument(); var qualifiedName = EncodeableFactory.GetXmlName(typeof(GlobalDiscoveryServerConfiguration)); XmlSerializer gdsSerializer = new XmlSerializer(typeof(GlobalDiscoveryServerConfiguration), qualifiedName.Namespace); using (XmlWriter writer = gdsDoc.CreateNavigator().AppendChild()) { gdsSerializer.Serialize(writer, gdsConfiguration); } foreach (var extension in extensions) { if (extension.Name == qualifiedName.Name) { extension.InnerXml = gdsDoc.DocumentElement.InnerXml; } } }