//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.Globalization; using System.IO; using System.Text; using System.Web.Compilation; using System.Reflection; using System.Web.Hosting; using System.Web.UI; using System.CodeDom.Compiler; using System.Web.Util; using System.ComponentModel; using System.Security.Permissions; public sealed class FullTrustAssembly : ConfigurationElement { private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propAssemblyName = new ConfigurationProperty("assemblyName", typeof(string), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey); private static readonly ConfigurationProperty _propVersion = new ConfigurationProperty("version", typeof(string), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey); private static readonly ConfigurationProperty _propPublicKey = new ConfigurationProperty("publicKey", typeof(string), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired); static FullTrustAssembly() { _properties = new ConfigurationPropertyCollection(); _properties.Add(_propAssemblyName); _properties.Add(_propVersion); _properties.Add(_propPublicKey); } internal FullTrustAssembly() { } public FullTrustAssembly(string assemblyName, string version, string publicKey) { AssemblyName = assemblyName; Version = version; PublicKey = publicKey; } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("assemblyName", IsRequired = true, IsKey = true, DefaultValue = "")] [StringValidator(MinLength = 1)] public string AssemblyName { get { return (string)base[_propAssemblyName]; } set { base[_propAssemblyName] = value; } } [ConfigurationProperty("version", IsRequired = true, IsKey = true, DefaultValue = "")] [StringValidator(MinLength = 1)] public string Version { get { return (string)base[_propVersion]; } set { base[_propVersion] = value; } } [ConfigurationProperty("publicKey", IsRequired = true, IsKey = false, DefaultValue = "")] [StringValidator(MinLength = 1)] public string PublicKey { get { return (string)base[_propPublicKey]; } set { base[_propPublicKey] = value; } } } }