Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Configuration / RootProfilePropertySettingsCollection.cs / 1 / 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.
//
//-----------------------------------------------------------------------------
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OutputCacheSettings.cs
- CollectionDataContractAttribute.cs
- ObfuscateAssemblyAttribute.cs
- GradientBrush.cs
- Roles.cs
- FixedNode.cs
- MsmqHostedTransportConfiguration.cs
- EnvironmentPermission.cs
- IsolatedStorageFile.cs
- SmtpNtlmAuthenticationModule.cs
- UserUseLicenseDictionaryLoader.cs
- PipeStream.cs
- Helper.cs
- FixedSOMTableCell.cs
- Errors.cs
- MemoryFailPoint.cs
- GlyphInfoList.cs
- RuleSettingsCollection.cs
- XsltContext.cs
- AcceleratedTokenProvider.cs
- UserMapPath.cs
- Byte.cs
- InkCanvasFeedbackAdorner.cs
- AbandonedMutexException.cs
- Manipulation.cs
- ArgIterator.cs
- GetIsBrowserClientRequest.cs
- mactripleDES.cs
- BuilderElements.cs
- WeakEventManager.cs
- ScriptManagerProxy.cs
- CompositeDataBoundControl.cs
- UIElementCollection.cs
- AsymmetricSignatureDeformatter.cs
- WebReferenceCollection.cs
- _OverlappedAsyncResult.cs
- DataRecord.cs
- DataRecordInfo.cs
- DebugInfo.cs
- SyndicationFeedFormatter.cs
- ProviderConnectionPointCollection.cs
- PenCursorManager.cs
- CodeDirectoryCompiler.cs
- TreeView.cs
- RawStylusInputCustomDataList.cs
- HighlightVisual.cs
- SafeNativeMemoryHandle.cs
- GetPageNumberCompletedEventArgs.cs
- XmlName.cs
- EventEntry.cs
- StringWriter.cs
- Int32Converter.cs
- DeclarativeCatalogPart.cs
- Stylesheet.cs
- Annotation.cs
- DateTimeFormatInfoScanner.cs
- PagePropertiesChangingEventArgs.cs
- DesignerProperties.cs
- IndexedDataBuffer.cs
- ObjectParameterCollection.cs
- Section.cs
- TextServicesCompartmentEventSink.cs
- WebBrowserNavigatedEventHandler.cs
- FilteredAttributeCollection.cs
- DatagridviewDisplayedBandsData.cs
- Wildcard.cs
- Evidence.cs
- Effect.cs
- PersonalizationProviderCollection.cs
- AutomationIdentifier.cs
- GenericIdentity.cs
- xamlnodes.cs
- QilInvoke.cs
- XmlSerializerAssemblyAttribute.cs
- Delegate.cs
- _AcceptOverlappedAsyncResult.cs
- FileClassifier.cs
- CompilationUtil.cs
- BamlTreeUpdater.cs
- AdapterDictionary.cs
- Animatable.cs
- TextRunCache.cs
- TreeNodeStyle.cs
- EdmSchemaAttribute.cs
- AuthenticationModuleElement.cs
- XmlSchemaElement.cs
- EventSetter.cs
- SafeFindHandle.cs
- StrongNameIdentityPermission.cs
- RNGCryptoServiceProvider.cs
- Brushes.cs
- EdmConstants.cs
- DBAsyncResult.cs
- ListDataHelper.cs
- SessionStateModule.cs
- WebBaseEventKeyComparer.cs
- PointUtil.cs
- ColumnCollection.cs
- TypeDescriptor.cs
- WSUtilitySpecificationVersion.cs