//----------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Globalization; using System.Xml; public sealed partial class ComContractElement : ConfigurationElement { public ComContractElement() : base() { } public ComContractElement(string contractType) : this() { this.Contract = contractType; } [ConfigurationProperty(ConfigurationStrings.Contract, Options = ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired)] [StringValidator(MinLength = 1)] public string Contract { get { return (string)base[ConfigurationStrings.Contract]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.Contract] = value; } } [ConfigurationProperty(ConfigurationStrings.ComMethodCollection, Options = ConfigurationPropertyOptions.None)] public ComMethodElementCollection ExposedMethods { get { return (ComMethodElementCollection)base[ConfigurationStrings.ComMethodCollection]; } } [ConfigurationProperty(ConfigurationStrings.ComContractName, DefaultValue = "", Options = ConfigurationPropertyOptions.None)] [StringValidator(MinLength = 0)] public string Name { get { return (string)base[ConfigurationStrings.ComContractName]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.ComContractName] = value; } } [ConfigurationProperty(ConfigurationStrings.ComContractNamespace, DefaultValue = "", Options = ConfigurationPropertyOptions.None)] [StringValidator(MinLength = 0)] public string Namespace { get { return (string)base[ConfigurationStrings.ComContractNamespace]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.ComContractNamespace] = value; } } [ConfigurationProperty(ConfigurationStrings.ComPersistableTypes)] public ComPersistableTypeElementCollection PersistableTypes { get { return (ComPersistableTypeElementCollection)base[ConfigurationStrings.ComPersistableTypes]; } } [ConfigurationProperty(ConfigurationStrings.ComSessionRequired, DefaultValue = true)] public bool RequiresSession { get { return (bool)base[ConfigurationStrings.ComSessionRequired]; } set { base[ConfigurationStrings.ComSessionRequired] = value; } } [ConfigurationProperty(ConfigurationStrings.ComUdtCollection)] public ComUdtElementCollection UserDefinedTypes { get { return (ComUdtElementCollection)base[ConfigurationStrings.ComUdtCollection]; } } } }