Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / RootProfilePropertySettingsCollection.cs / 2 / RootProfilePropertySettingsCollection.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;
// class ProfileSection
// ProfileGroupSettingsCollection
[ConfigurationCollection(typeof(ProfilePropertySettings))]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class RootProfilePropertySettingsCollection : ProfilePropertySettingsCollection {
private ProfileGroupSettingsCollection _propGroups = new ProfileGroupSettingsCollection();
private static ConfigurationPropertyCollection _properties;
static RootProfilePropertySettingsCollection() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
public RootProfilePropertySettingsCollection() {
}
protected override bool AllowClear {
get {
return true;
}
}
protected override bool ThrowOnDuplicate {
get {
return true;
}
}
protected override bool OnDeserializeUnrecognizedElement(String elementName, XmlReader reader) {
bool handled = false;
// Deal with the "group" element
if (elementName == "group") {
ProfileGroupSettingsCollection groupCollection;
ProfileGroupSettings newGroupSettings;
ProfileGroupSettings curGroupSettings = null;
string name = reader.GetAttribute("name");
groupCollection = GroupSettings;
if (name != null) {
curGroupSettings = groupCollection[name];
}
newGroupSettings = new ProfileGroupSettings();
newGroupSettings.InternalReset(curGroupSettings);
newGroupSettings.InternalDeserialize(reader, false);
groupCollection.AddOrReplace(newGroupSettings);
handled = true;
}
else {
if (elementName == "clear") {
GroupSettings.Clear();
}
// Let the base class deal with "add, remove, clear"
handled = base.OnDeserializeUnrecognizedElement(elementName, reader);
}
return handled;
}
protected override bool IsModified() {
return base.IsModified() || GroupSettings.InternalIsModified();
}
protected override void ResetModified() {
base.ResetModified();
GroupSettings.InternalResetModified();
}
public override bool Equals(object rootProfilePropertySettingsCollection) {
RootProfilePropertySettingsCollection o = rootProfilePropertySettingsCollection as RootProfilePropertySettingsCollection;
return (o != null && Object.Equals(this, o) && Object.Equals(GroupSettings, o.GroupSettings));
}
public override int GetHashCode() {
return HashCodeCombiner.CombineHashCodes(base.GetHashCode(), GroupSettings.GetHashCode());
}
protected override void Reset(ConfigurationElement parentElement) {
RootProfilePropertySettingsCollection parent = parentElement as RootProfilePropertySettingsCollection;
base.Reset(parentElement);
GroupSettings.InternalReset(parent.GroupSettings);
}
protected override void Unmerge(ConfigurationElement sourceElement,
ConfigurationElement parentElement,
ConfigurationSaveMode saveMode) {
RootProfilePropertySettingsCollection parent = parentElement as RootProfilePropertySettingsCollection;
RootProfilePropertySettingsCollection source = sourceElement as RootProfilePropertySettingsCollection;
base.Unmerge(sourceElement, parentElement, saveMode);
GroupSettings.InternalUnMerge(source.GroupSettings, (parent != null) ? parent.GroupSettings : null, saveMode);
}
protected override bool SerializeElement(XmlWriter writer, bool serializeCollectionKey) {
bool DataToWrite = false;
if (base.SerializeElement(null, false) == true ||
GroupSettings.InternalSerialize(null, false) == true) {
DataToWrite |= base.SerializeElement(writer, false);
DataToWrite |= GroupSettings.InternalSerialize(writer, false);
}
return DataToWrite;
}
[ConfigurationProperty("group")]
public ProfileGroupSettingsCollection GroupSettings {
get {
return _propGroups;
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SystemGatewayIPAddressInformation.cs
- SqlServices.cs
- AuthorizationSection.cs
- OleDbPropertySetGuid.cs
- ConnectionStringSettings.cs
- AppSettings.cs
- PeerTransportSecurityElement.cs
- ControllableStoryboardAction.cs
- TargetFrameworkAttribute.cs
- DesignBindingPropertyDescriptor.cs
- LongTypeConverter.cs
- MiniParameterInfo.cs
- SQLGuidStorage.cs
- DesignerVerb.cs
- URLString.cs
- AdornerHitTestResult.cs
- SystemTcpStatistics.cs
- BaseUriHelper.cs
- PerformanceCounterPermissionEntry.cs
- FontSource.cs
- CompilationUnit.cs
- webproxy.cs
- SelectionPatternIdentifiers.cs
- SoapMessage.cs
- SecurityElement.cs
- ConfigurationValue.cs
- RadioButtonList.cs
- NotConverter.cs
- SerializerWriterEventHandlers.cs
- FacetChecker.cs
- HttpCapabilitiesEvaluator.cs
- ClientConfigPaths.cs
- XmlSchemaImporter.cs
- NavigationPropertyEmitter.cs
- ObjectDesignerDataSourceView.cs
- _ConnectStream.cs
- Stylesheet.cs
- XPathException.cs
- BCryptSafeHandles.cs
- SequenceNumber.cs
- MultipartContentParser.cs
- KeyInstance.cs
- SHA1Managed.cs
- SemanticResultKey.cs
- SHA1CryptoServiceProvider.cs
- CollectionBuilder.cs
- ObsoleteAttribute.cs
- ModifyActivitiesPropertyDescriptor.cs
- MasterPageParser.cs
- ObjectCloneHelper.cs
- SqlBulkCopyColumnMappingCollection.cs
- KeyValueConfigurationCollection.cs
- TextHidden.cs
- ValidatorUtils.cs
- _NegoState.cs
- _WinHttpWebProxyDataBuilder.cs
- XmlEntity.cs
- TextEditorLists.cs
- ContractMapping.cs
- HttpResponseInternalBase.cs
- ItemCollectionEditor.cs
- MouseEvent.cs
- GeneralTransform3D.cs
- ItemMap.cs
- NavigatingCancelEventArgs.cs
- WSSecureConversationDec2005.cs
- XmlCustomFormatter.cs
- Gdiplus.cs
- COSERVERINFO.cs
- OdbcError.cs
- NativeCppClassAttribute.cs
- PenCursorManager.cs
- OpenTypeCommon.cs
- ReflectEventDescriptor.cs
- GeometryHitTestResult.cs
- SelectionProcessor.cs
- FormatterServicesNoSerializableCheck.cs
- WindowShowOrOpenTracker.cs
- WebPartConnectVerb.cs
- CmsInterop.cs
- Registry.cs
- BaseDataList.cs
- XmlDictionary.cs
- SeverityFilter.cs
- HttpHostedTransportConfiguration.cs
- UriWriter.cs
- ToggleProviderWrapper.cs
- DataServiceStreamProviderWrapper.cs
- DeferredElementTreeState.cs
- TransactionInterop.cs
- LinearGradientBrush.cs
- MDIClient.cs
- SmtpReplyReader.cs
- VariantWrapper.cs
- CfgRule.cs
- CalendarBlackoutDatesCollection.cs
- MoveSizeWinEventHandler.cs
- Compilation.cs
- UserControlBuildProvider.cs
- Activation.cs