Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / RootProfilePropertySettingsCollection.cs / 3 / 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;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FrugalMap.cs
- RuleConditionDialog.cs
- AstNode.cs
- SQLMembershipProvider.cs
- dbdatarecord.cs
- PriorityBindingExpression.cs
- FlowLayoutSettings.cs
- EarlyBoundInfo.cs
- PersonalizationEntry.cs
- ResourceContainerWrapper.cs
- ClientFormsAuthenticationMembershipProvider.cs
- _HeaderInfo.cs
- DataControlFieldCollection.cs
- EventRouteFactory.cs
- DesignerAttribute.cs
- MSAAEventDispatcher.cs
- XmlSchemaAppInfo.cs
- AggregateNode.cs
- Range.cs
- IHttpResponseInternal.cs
- XmlDataContract.cs
- DataGridViewRowsAddedEventArgs.cs
- TcpServerChannel.cs
- ChtmlPhoneCallAdapter.cs
- XPathChildIterator.cs
- KerberosSecurityTokenProvider.cs
- CodeAccessPermission.cs
- MultiTouchSystemGestureLogic.cs
- QilStrConcatenator.cs
- OptimalBreakSession.cs
- StrongTypingException.cs
- XPathDocument.cs
- HasCopySemanticsAttribute.cs
- LogLogRecordHeader.cs
- BindableTemplateBuilder.cs
- Nodes.cs
- TypeTypeConverter.cs
- DomainUpDown.cs
- ExceptionRoutedEventArgs.cs
- CommandSet.cs
- StylusOverProperty.cs
- OledbConnectionStringbuilder.cs
- SharedStatics.cs
- COM2EnumConverter.cs
- CustomErrorsSection.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- FileUtil.cs
- SqlPersonalizationProvider.cs
- TagPrefixInfo.cs
- Int32RectValueSerializer.cs
- StatusBarPanel.cs
- CompositionAdorner.cs
- TemplateAction.cs
- ToolStripSeparator.cs
- MultiSelectRootGridEntry.cs
- TextEditorSelection.cs
- DateTimePicker.cs
- DateTimeConverter2.cs
- Manipulation.cs
- SeparatorAutomationPeer.cs
- ToolStripPanelRenderEventArgs.cs
- IntSumAggregationOperator.cs
- FixedDocument.cs
- PersonalizationProviderCollection.cs
- AndCondition.cs
- ValidatedControlConverter.cs
- SafeNativeMethodsCLR.cs
- EventMappingSettings.cs
- Parser.cs
- ZipFileInfoCollection.cs
- XamlNamespaceHelper.cs
- TextTreeTextElementNode.cs
- DBAsyncResult.cs
- Matrix3D.cs
- EntityConnectionStringBuilderItem.cs
- _Semaphore.cs
- TreeViewEvent.cs
- InvalidateEvent.cs
- MatrixStack.cs
- StylusPointPropertyId.cs
- SqlReorderer.cs
- FixedPosition.cs
- SecurityTraceRecordHelper.cs
- WebPartsSection.cs
- DataServiceQuery.cs
- OleDbReferenceCollection.cs
- Update.cs
- ConcatQueryOperator.cs
- PropertyGeneratedEventArgs.cs
- SingleObjectCollection.cs
- ECDiffieHellmanPublicKey.cs
- ReadOnlyDataSource.cs
- NullableFloatAverageAggregationOperator.cs
- CommentEmitter.cs
- CqlErrorHelper.cs
- ElementNotAvailableException.cs
- StoreUtilities.cs
- NotFiniteNumberException.cs
- AnchoredBlock.cs
- GridViewEditEventArgs.cs