Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / ProfileSection.cs / 3 / ProfileSection.cs
//------------------------------------------------------------------------------ //// 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.IO; using System.Text; using System.Web.Util; using System.Security.Permissions; /**/ [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class ProfileSection : ConfigurationSection { private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propEnabled = new ConfigurationProperty("enabled", typeof(bool), true, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propDefaultProvider = new ConfigurationProperty("defaultProvider", typeof(string), "AspNetSqlProfileProvider", null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propProviders = new ConfigurationProperty("providers", typeof(ProviderSettingsCollection), null, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propProfile = new ConfigurationProperty("properties", typeof(RootProfilePropertySettingsCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); private static readonly ConfigurationProperty _propInherits = new ConfigurationProperty("inherits", typeof(string), String.Empty, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propAutomaticSaveEnabled = new ConfigurationProperty("automaticSaveEnabled", typeof(bool), true, ConfigurationPropertyOptions.None); static ProfileSection() { // Property initialization _properties = new ConfigurationPropertyCollection(); _properties.Add(_propEnabled); _properties.Add(_propDefaultProvider); _properties.Add(_propProviders); _properties.Add(_propProfile); _properties.Add(_propInherits); _properties.Add(_propAutomaticSaveEnabled); } private long _recompilationHash; private bool _recompilationHashCached; internal long RecompilationHash { get { if (!_recompilationHashCached) { _recompilationHash = CalculateHash(); _recompilationHashCached = true; } return _recompilationHash; } } private long CalculateHash() { HashCodeCombiner hashCombiner = new HashCodeCombiner(); CalculateProfilePropertySettingsHash(PropertySettings, hashCombiner); if (PropertySettings != null) { foreach (ProfileGroupSettings pgs in PropertySettings.GroupSettings) { hashCombiner.AddObject(pgs.Name); CalculateProfilePropertySettingsHash(pgs.PropertySettings, hashCombiner); } } return hashCombiner.CombinedHash; } private void CalculateProfilePropertySettingsHash( ProfilePropertySettingsCollection settings, HashCodeCombiner hashCombiner) { foreach (ProfilePropertySettings pps in settings) { hashCombiner.AddObject(pps.Name); hashCombiner.AddObject(pps.Type); } } public ProfileSection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("automaticSaveEnabled", DefaultValue = true)] public bool AutomaticSaveEnabled { get { return (bool)base[_propAutomaticSaveEnabled]; } set { base[_propAutomaticSaveEnabled] = value; } } [ConfigurationProperty("enabled", DefaultValue = true)] public bool Enabled { get { return (bool)base[_propEnabled]; } set { base[_propEnabled] = value; } } [ConfigurationProperty("defaultProvider", DefaultValue = "AspNetSqlProfileProvider")] [StringValidator(MinLength = 1)] public string DefaultProvider { get { return (string)base[_propDefaultProvider]; } set { base[_propDefaultProvider] = value; } } [ConfigurationProperty("inherits", DefaultValue = "")] public string Inherits { get { return (string)base[_propInherits]; } set { base[_propInherits] = value; } } [ConfigurationProperty("providers")] public ProviderSettingsCollection Providers { get { return (ProviderSettingsCollection)base[_propProviders]; } } // not exposed to the API [ConfigurationProperty("properties")] public RootProfilePropertySettingsCollection PropertySettings { get { return (RootProfilePropertySettingsCollection)base[_propProfile]; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RegexCapture.cs
- RemoteWebConfigurationHostServer.cs
- SqlRemoveConstantOrderBy.cs
- TreeNodeStyle.cs
- XmlEventCache.cs
- Vector.cs
- WorkflowInstanceExtensionManager.cs
- cookieexception.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- ModuleBuilder.cs
- FormClosingEvent.cs
- ConnectionManagementElementCollection.cs
- X509ChainElement.cs
- PasswordValidationException.cs
- StorageTypeMapping.cs
- OracleTransaction.cs
- EntityModelBuildProvider.cs
- HttpCachePolicyWrapper.cs
- TextSelectionProcessor.cs
- WsiProfilesElementCollection.cs
- VirtualizedItemPattern.cs
- Propagator.cs
- RoleManagerModule.cs
- DependencyPropertyAttribute.cs
- DataGridViewCellStyle.cs
- SecurityTokenProvider.cs
- PathParser.cs
- KeyProperty.cs
- HyperLinkField.cs
- Border.cs
- ClientRuntime.cs
- HandlerMappingMemo.cs
- ResizeGrip.cs
- SqlFacetAttribute.cs
- Random.cs
- DatePickerTextBox.cs
- HtmlTableRowCollection.cs
- RuleSetDialog.Designer.cs
- ListViewEditEventArgs.cs
- Viewport3DAutomationPeer.cs
- UriGenerator.cs
- DataTableReaderListener.cs
- FigureParagraph.cs
- TreeNode.cs
- DataBoundLiteralControl.cs
- RegexCapture.cs
- PropertyStore.cs
- MenuItemBindingCollection.cs
- WeakReferenceKey.cs
- PackWebRequestFactory.cs
- XmlWrappingWriter.cs
- DoubleAverageAggregationOperator.cs
- UserValidatedEventArgs.cs
- OutputScopeManager.cs
- SimpleMailWebEventProvider.cs
- WindowsRegion.cs
- DbMetaDataColumnNames.cs
- DataContext.cs
- MsmqAppDomainProtocolHandler.cs
- TableLayoutColumnStyleCollection.cs
- QilXmlReader.cs
- DateTimeFormatInfo.cs
- SqlDataSourceCommandEventArgs.cs
- BindingWorker.cs
- PrefixQName.cs
- SchemaElementDecl.cs
- PopOutPanel.cs
- TypeListConverter.cs
- VBCodeProvider.cs
- NullableLongAverageAggregationOperator.cs
- DateTimeValueSerializerContext.cs
- DictionaryMarkupSerializer.cs
- AdRotator.cs
- SafePointer.cs
- QueryOperationResponseOfT.cs
- EventLogPermissionEntry.cs
- ClosableStream.cs
- SqlCommandSet.cs
- PauseStoryboard.cs
- ScalarType.cs
- CodeGroup.cs
- HttpCapabilitiesBase.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ManipulationLogic.cs
- BinaryConverter.cs
- IRCollection.cs
- TerminatorSinks.cs
- ManipulationStartedEventArgs.cs
- ECDiffieHellman.cs
- CodeBlockBuilder.cs
- PlainXmlDeserializer.cs
- MatrixTransform.cs
- DetailsViewInsertEventArgs.cs
- SecurityChannelFactory.cs
- Opcode.cs
- TakeOrSkipWhileQueryOperator.cs
- IntegerFacetDescriptionElement.cs
- RegistrySecurity.cs
- ToolBarDesigner.cs
- MethodAccessException.cs