--- /dev/null
--- /dev/null
++//
++// System.Web.Configuration.AssemblyCollection
++//
++// Authors:
++// Lluis Sanchez Gual (lluis@novell.com)
++// Chris Toshok (toshok@ximian.com)
++//
++// (C) 2004,2005 Novell, Inc (http://www.novell.com)
++//
++
++//
++// Permission is hereby granted, free of charge, to any person obtaining
++// a copy of this software and associated documentation files (the
++// "Software"), to deal in the Software without restriction, including
++// without limitation the rights to use, copy, modify, merge, publish,
++// distribute, sublicense, and/or sell copies of the Software, and to
++// permit persons to whom the Software is furnished to do so, subject to
++// the following conditions:
++//
++// The above copyright notice and this permission notice shall be
++// included in all copies or substantial portions of the Software.
++//
++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++//
++
++#if NET_2_0
++
++using System;
++using System.ComponentModel;
++using System.Configuration;
++
++namespace System.Web.Configuration
++{
++ public sealed class AssemblyInfo: ConfigurationElement
++ {
++ static ConfigurationPropertyCollection properties;
++ static ConfigurationProperty assemblyProp;
++
++ static AssemblyInfo ()
++ {
++ assemblyProp = new ConfigurationProperty ("assembly", typeof (string), null, TypeDescriptor.GetConverter (typeof (string)),
++ PropertyHelper.NonEmptyStringValidator,
++ ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey);
++
++ properties = new ConfigurationPropertyCollection ();
++ properties.Add (assemblyProp);
++ }
++
++ internal AssemblyInfo ()
++ {
++ }
++
++ public AssemblyInfo (string assemblyName)
++ {
++ this.Assembly = assemblyName;
++ }
++
++ [StringValidator (MinLength = 1)]
++ [ConfigurationProperty ("assembly", DefaultValue = "", Options = ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey)]
++ public string Assembly {
++ get { return (string) base [assemblyProp]; }
++ set { base [assemblyProp] = value; }
++ }
++
++ protected override ConfigurationPropertyCollection Properties {
++ get { return properties; }
++ }
++ }
++}
++
++#endif
--- /dev/null
++2005-11-24 Chris Toshok <toshok@ximian.com>
++
++ * AssemblyInfo.cs: move this here from System.Web.Configuration,
++ and fix up the properties.
++
++ * SystemWebSectionGroup.cs: enable most of the sections (2
++ remaining to be enabled.)
++
+2005-11-24 Chris Toshok <toshok@ximian.com>
+
+ * ProcessModelSection.cs, SqlCacheDependencySection.cs,
+ SessionStateSection.cs, PassportAuthentication.cs,
+ FormsAuthenticationConfiguration.cs,
+ SqlCacheDependencyDatabase.cs, HttpModuleAction.cs,
+ BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init
+ elementProperty.
+ (ValidateElement): new static validator callback.
+ (ElementProperty): enable this, return elementProperty.
+
+2005-11-23 Chris Toshok <toshok@ximian.com>
+
+ * ProfilePropertyNameValidator.cs: new implementation.
+
+ * ProfilePropertySettings.cs, ProfileGroupSettings.cs,
+ ClientTargetSection.cs, ClientTargetSection.cs,
+ BufferModeSettings.cs, HttpModulesSection.cs,
+ WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs,
+ NamespaceInfo.cs, SqlCacheDependencyDatabase.cs,
+ AuthenticationSection.cs, RuleSettings.cs,
+ FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs,
+ WebPartsPersonalizationAuthorization.cs, Compiler.cs,
+ ExpressionBuilder.cs, OutputCacheProfile.cs,
+ FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs,
+ OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs,
+ ExpressionBuilderCollection.cs, ProfileSettings.cs,
+ SessionStateSection.cs, HealthMonitoringSection.cs,
+ FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs,
+ SessionPageStateSection.cs, TrustSection.cs,
+ AnonymousIdentificationSection.cs, WebControlsSection.cs,
+ ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs,
+ ProcessModelSection.cs, RoleManagerSection.cs,
+ MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix
+ validator/converters.
+
+ * MachineKeySection.cs (..cctor): fix validators/converters.
+ (Validation): enable the Converter.
+
+ * CodeSubDirectory.cs (..cctor): fix validator/converters.
+ (DirectoryName): add note about missing validator decoration.
+
+ * HttpModuleAction.cs (..cctor): init properties.
+ (Properties): return properties.
+
+ * CompilationSection.cs (..cctor): fix validator/converters.
+ (GetInstance): add in this pre-2.0 interface for the time being,
+ hopefully it'll make it easier to migrate later on.
+
+ * HttpHandlerActionCollection.cs (..cctor): init properties.
+ (Properties): return properties.
+
+ * PagesSection.cs (..cctor): fix validator/converters.
+ (GetInstance): add in this pre-2.0 interface for the time being,
+ hopefully it'll make it easier to migrate later on.
+
+ * HttpHandlersSection.cs (..cctor): init properties.
+ (Properties): return properties.
+
+ * EventMappingSettings.cs (..cctor): fix validator/converters.
+ (Name): add note about missing validator decoration.
+
+ * HttpHandlerAction.cs (..cctor): fix validator/converters.
+ (PAth, Type, Verb): add note about missing validator decoration.
+
+ * NamespaceCollection.cs (..cctor): fix properties.
+
+ * ProfilePropertySettingsCollection.cs (..cctor): init properties.
+ (..ctor): don't throw NIE.
+ (Properties): return properties.
+
+ * HttpModuleActionCollection.cs (..cctor): init properties.
+ (Properties): return properties.
+
+ * CacheSection.cs (..cctor): fix validators/converters.
+ (PrivateBytesPollTime): add note about missing validator
+ decoration.
+
+ * AuthorizationRule.cs (..cctor): fix validators/converters.
+ (Roles, Users, Verbs): enable the TypeConverter decorations.
+
+ * UrlMapping.cs (ValidateUrl): static method for use as a
+ validation callback. unimplemented as yet.
+ (..cctor): fix validators/converters.
+ (MappedUrl): add note about missing validator decoration.
+
+ * PropertyHelper.cs: static utility class which contains
+ references to validators and converters for use in static
+ constructors (building the Properties arrays).
+
+2005-11-23 Chris Toshok <toshok@ximian.com>
+
+ * MachineKeyValidationConverter.cs: new converter (and a pretty
+ silly one, considering all it seems to do is convert "TripleDES"
+ to "3DES").
+
+ * HostingEnvironmentSection.cs (.cctor): use
+ PositiveTimeSpanValidator like MS does.
+
+2005-11-18 Chris Toshok <toshok@ximian.com>
+
+ * HostingEnvironmentSection.cs (.cctor): add validators.
+
+ * CompilationSection.cs (.cctor): fix defaultvalue of
+ urlLinePragmas.
+
+2005-11-18 Chris Toshok <toshok@ximian.com>
+
+ * SystemWebSectionGroup.cs: enable a whole slew of properties.
+
+ * RegexWorker.cs: stub this out.
+
+ * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one
+ of the other partial files.
+
+ * CompilationSection.cs: fix this up.
+
+ * PagesSection.cs: fix some types and add a comment to
+ DeserializeSection.
+
+ * CompilerCollection.cs (Add): new internal method.
+
+ * ProvidersHelper.cs: put the using System.Configuration.Provider
+ inside the NET_2_0 block.
+
+ * CacheSection.cs: add validators.
+
+2005-11-14 Chris Toshok <toshok@ximian.com>
+
+ * BufferModeSettings.cs: add validators/converters to the
+ programmatic property list.
+
+ * BuildProvider.cs: add validators/converters to the programmatic
+ property list, and add an internal ctor with no args.
+
+ * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a
+ #region.
+
+ * BuildProviderCollection.cs (CreateNewElement): use the internal
+ BuildProvider ctor to get around validation.
+
+ * AssemblyCollection.cs: same.
+
+2005-11-14 Chris Toshok <toshok@ximian.com>
+
+ * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
+ (set_Item (int index)): implement.
+
+ * TagPrefixInfo.cs (Equals): implement.
+ (GetHashCode): implement.
+
+ * AuthorizationRuleCollection.cs (CreateNewElement(string)):
+ implement propertly.
+ (IndexOf): implement.
+ (IsElementName): implement.
+ (ElementName): implement.
+ (Item (int index)): implement.
+
+ * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement.
+
+ * UrlMappingCollection.cs (set_Item (int index)): implement.
+
+ * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
+
+ * TransformerInfo.cs (Equals): implement.
+ (GetHashCode): implement.
+
+ * NamespaceInfo.cs (Equals): implement.
+ (GetHashCode): implement.
+
+ * ProfileSettingsCollection.cs (set_Item (int index)): implement.
+
+ * TransformerInfoCollection.cs (set_Item (int index)): implement.
+
+ * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
+
+ * BufferModesCollection.cs (set_Item (int index)): implement.
+
+ * BuildProvider.cs: use the base[fooProp] pattern instead of
+ instance fields.
+
+ * ProfileGroupSettingsCollection.cs: implement most of this class.
+
+ * RuleSettingsCollection.cs (set_Item (int index)): implement.
+
+ * ClientTargetCollection.cs (set_Item (int index)): implement.
+
+ * AssemblyCollection.cs (set_Item (int index)): implement.
+
+ * BuildProviderCollection.cs (set_Item (int index)): reformat.
+
+ * CustomError.cs (Equals): implement.
+ (GetHashCode): implement.
+
+ * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
+
+ * PassportAuthentication.cs (RedirectUrl): express consternation
+ in comment form.
+
+ * NamespaceCollection.cs (set_Item (int index)): implement.
+
+ * RootProfilePropertySettingsCollection.cs (SerializeElement): add
+ comment.
+
+ * ProfilePropertySettingsCollection.cs (set_Item (int index)):
+ implement.
+
+ * CustomErrorCollection.cs (set_Item (int index)): implement.
+
+ * HttpModuleActionCollection.cs (set_Item (int index)): implement.
+
+ * CodeSubDirectoriesCollection.cs (set_Item (int index)):
+ implement.
+
+ * CustomErrorsSection.cs (DeserializeSection): include call to
+ base.DeserializeSection, and add MonoTODO.
+
+ * EventMappingSettingsCollection.cs (set_Item (int index)):
+ implement.
+
+ * AuthorizationRule.cs (Equals): implement.
+ (GetHashCode): implement.
+ (SerializeElement): add comment.
+
+ * TagMapCollection.cs (Remove): pass the key to BaseRemove.
+ (set_Item (int index)): implement.
+
+ * TagMapInfo.cs (Equals): implement.
+ (GetHashCode): implement.
+ (SerializeElement): add call to base.SerializeElement.
+
+ * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
+ (GetElementKey): implement.
+
+ * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
+
+ * WebContext.cs: new implementation.
+
+2005-11-13 Chris Toshok <toshok@ximian.com>
+
+ * AnonymousIdentificationSection.cs: rework this class a bit to
+ fit in with the rest of S.W.C. Add validators to the
+ ConfigurationProperty ctor calls, a pattern which will need to be
+ replicated across the entire assembly, it appears (uggggh).
+
+2005-11-13 Chris Toshok <toshok@ximian.com>
+
+ * AuthorizationRuleCollection.cs: fix ConfigurationCollection
+ attribute.
+
+ * TransformerInfo.cs: fix corcompare.
+
+ * SqlCacheDependencyDatabase.cs: mark ctor internal to fix
+ corcompare.
+
+ * AuthenticationSection.cs: add missing Reset stub.
+
+ * ProfileSettingsCollection.cs: use the more succint ctor.
+
+ * FormsAuthenticationUser.cs: enable the TypeConverter on "name".
+
+ * GlobalizationSection.cs: fix up corcompare.
+
+ * WebPartsSection.cs: fix up corcompare.
+
+ * ProfileGroupSettingsCollection.cs: add missing
+ ConfigurationCollection attribute.
+
+ * ExpressionBuilder.cs: implement.
+
+ * FormsAuthenticationCredentials.cs: fix up corcompare.
+
+ * AssemblyCollection.cs: implement Properties.
+
+ * SiteMapSection.cs: implement Properties.
+
+ * ExpressionBuilderCollection.cs: fix up corcompare.
+
+ * ProfileSettings.cs: add missing ctor.
+
+ * PassportAuthentication.cs: new implementation.
+
+ * SqlCacheDependencySection.cs: fix up corcompare.
+
+ * ProfilePropertySettingsCollection.cs: fix up corcompare.
+
+ * HttpModuleActionCollection.cs: fix up corcompare.
+
+ * EventMappingSettingsCollection.cs: fix up corcompare.
+
+ * AuthorizationRule.cs: fix up corcompare.
+
+ * WebControlsSection.cs: fix up corcompare.
+
+ * AuthorizationSection.cs: fix up corcompare.
+
+ * MembershipSection.cs: clean this up, implement Properties, fix
+ up corcompare, etc.
+
+2005-11-13 Chris Toshok <toshok@ximian.com>
+
+ * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs,
+ HostingEnvironmentSection.cs, TrustLevel.cs,
+ HttpCookiesSection.cs, UrlMappingsSection.cs,
+ UrlMappingCollection.cs, LowerCaseStringConverter.cs,
+ RoleManagerSection.cs, ProcessModelSection.cs,
+ TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs,
+ MachineKeySection.cs, SessionPageStateSection.cs,
+ SessionStateSection.cs, ProvidersHelper.cs,
+ ClientTargetCollection.cs, SecurityPolicySection.cs,
+ HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large
+ swath.
+
+
+2005-11-12 Chris Toshok <toshok@ximian.com>
+
+ * AuthorizationRuleCollection.cs, AuthorizationRule.cs,
+ AuthorizationSection.cs, BufferModesCollection.cs,
+ BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs,
+ Compiler.cs, DeploymentSection.cs,
+ EventMappingSettingsCollection.cs, EventMappingSettings.cs,
+ GlobalizationSection.cs, HealthMonitoringSection.cs,
+ IdentitySection.cs, OutputCacheProfileCollection.cs,
+ OutputCacheProfile.cs, OutputCacheSection.cs,
+ OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs,
+ ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs,
+ SqlCacheDependencyDatabaseCollection.cs,
+ SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs,
+ SystemWebCachingSectionGroup.cs, TraceSection.cs,
+ TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs,
+ WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs,
+ WebPartsPersonalization.cs, WebPartsSection.cs,
+ XhtmlConformanceSection.cs: a whole slew of new classes. the
+ fruits of tons of c&p and ibuprofen.
+
+
+2005-11-09 Chris Toshok <toshok@ximian.com>
+
+ * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs,
+ BuildProviderCollection.cs, HttpHandlerActionCollection.cs,
+ HttpModulesSection.cs, HttpModuleAction.cs,
+ HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs,
+ CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs,
+ SystemWebSectionGroup.cs, SiteMapSection.cs,
+ WebConfigurationManager.cs: flesh out the implementation.
+
+ * TagMap*.cs, TagPrefix*.cs: new implementation.
+
+ * FormsAuthentication*.cs: new implementation.
+
+ * Profile*.cs: new implementation.
+
+ * Namespace*.cs: new implementation.
+
+ * HttpRuntimeSection.cs: new implementation.
+
get { return (AuthenticationSection)Sections ["authentication"]; }
}
--#if notyet
+ [ConfigurationProperty ("authorization")]
public AuthorizationSection Authorization {
get { return (AuthorizationSection)Sections ["authorization"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("browserCaps")]
public DefaultSection BrowserCaps {
get { return (DefaultSection)Sections ["browserCaps"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("clientTarget")]
public ClientTargetSection ClientTarget {
get { return (ClientTargetSection)Sections ["clientTarget"]; }
}
--#endif
[ConfigurationProperty ("compilation")]
public CompilationSection Compilation {
get { return (CompilationSection)Sections ["compilation"]; }
}
--#if notyet
+ [ConfigurationProperty ("customErrors")]
public CustomErrorsSection CustomErrors {
get { return (CustomErrorsSection)Sections ["customErrors"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("deployment")]
public DeploymentSection Deployment {
get { return (DeploymentSection)Sections ["deployment"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("deviceFilters")]
public DefaultSection DeviceFilters {
get { return (DefaultSection)Sections ["deviceFilters"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("globalization")]
public GlobalizationSection Globalization {
get { return (GlobalizationSection)Sections ["globalization"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("healthMonitoring")]
public HealthMonitoringSection HealthMonitoring {
get { return (HealthMonitoringSection)Sections ["healthMonitoring"]; }
}
--#endif
#if notyet
+ [ConfigurationProperty ("hostingEnvironment")]
public HostingEnvironmentSection HostingEnvironment {
-- get { return (HostingEnvironment)Sections ["hostingEnvironment"]; }
++ get { return (HostingEnvironmentSection)Sections ["hostingEnvironment"]; }
}
#endif
--#if notyet
+ [ConfigurationProperty ("httpCookies")]
public HttpCookiesSection HttpCookies {
get { return (HttpCookiesSection)Sections ["httpCookies"]; }
}
--#endif
[ConfigurationProperty ("httpHandlers")]
public HttpHandlersSection HttpHandlers {
get { return (HttpModulesSection)Sections ["httpModules"]; }
}
--#if notyet
+ [ConfigurationProperty ("httpRuntime")]
public HttpRuntimeSection HttpRuntime {
get { return (HttpRuntimeSection)Sections ["httpRuntime"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("identity")]
public IdentitySection Identity {
get { return (IdentitySection)Sections ["identity"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("machineKey")]
public MachineKeySection MachineKey {
get { return (MachineKeySection)Sections ["machineKey"]; }
}
--#endif
[ConfigurationProperty ("membership")]
public MembershipSection Membership {
get { return (PagesSection)Sections ["pages"]; }
}
--#if notyet
public ProcessModelSection ProcessModel {
get { return (ProcessModelSection)Sections ["processModel"]; }
}
--#endif
-#if notyet
+ [ConfigurationProperty ("profile")]
public ProfileSection Profile {
get { return (ProfileSection)Sections ["profile"]; }
}
-#endif
--#if notyet
+ [ConfigurationProperty ("protocols")]
public DefaultSection Protocols {
get { return (DefaultSection)Sections ["protocols"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("roleManager")]
public RoleManagerSection RoleManager {
get { return (RoleManagerSection)Sections ["roleManager"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("securityPolicy")]
public SecurityPolicySection SecurityPolicy {
get { return (SecurityPolicySection)Sections ["securityPolicy"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("sessionState")]
public SessionStateSection SessionState {
get { return (SessionStateSection)Sections ["sessionState"]; }
}
--#endif
[ConfigurationProperty ("siteMap")]
public SiteMapSection SiteMap {
get { return (SiteMapSection)Sections ["siteMap"]; }
}
--#if notyet
+ [ConfigurationProperty ("trace")]
public TraceSection Trace {
get { return (TraceSection)Sections ["trace"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("trust")]
public TrustSection Trust {
get { return (TrustSection)Sections ["trust"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("urlMappings")]
public UrlMappingsSection UrlMappings {
get { return (UrlMappingsSection)Sections ["urlMappings"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("webControls")]
public WebControlsSection WebControls {
get { return (WebControlsSection)Sections ["webControls"]; }
}
--#endif
--#if notyet
+ [ConfigurationProperty ("webParts")]
public WebPartsSection WebParts {
get { return (WebPartsSection)Sections ["webParts"]; }
}
--#endif
#if notyet
+ [ConfigurationProperty ("webServices")]
public WebServicesSection WebServices {
get { return (WebServicesSection)Sections ["webServices"]; }
}
#endif
--#if notyet
+ [ConfigurationProperty ("xhtmlConformance")]
public XhtmlConformanceSection XhtmlConformance {
get { return (XhtmlConformanceSection)Sections ["xhtmlConformance"]; }
}
--#endif
}
}