Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / Configuration / ProfileGroupSettingsCollection.cs / 1 / ProfileGroupSettingsCollection.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;
[ConfigurationCollection(typeof(ProfileGroupSettings), AddItemName = "group")]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class ProfileGroupSettingsCollection : ConfigurationElementCollection {
private static ConfigurationPropertyCollection _properties;
private bool bModified = false;
static ProfileGroupSettingsCollection() {
_properties = new ConfigurationPropertyCollection();
}
public ProfileGroupSettingsCollection() {
AddElementName = "group";
ClearElementName = String.Empty; // This collection does not support Clear tags
EmitClear = false;
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
// public properties
public String[] AllKeys {
get {
return StringUtil.ObjectArrayToStringArray(BaseGetAllKeys());
}
}
public new ProfileGroupSettings this[string name] {
get {
return (ProfileGroupSettings)BaseGet(name);
}
}
public ProfileGroupSettings this[int index] {
get {
return (ProfileGroupSettings)BaseGet(index);
}
set {
if (BaseGet(index) != null) {
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
internal void AddOrReplace(ProfileGroupSettings groupSettings) {
BaseAdd(groupSettings, false);
}
// Protected Overrides
protected override ConfigurationElement CreateNewElement() {
return new ProfileGroupSettings();
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((ProfileGroupSettings)element).Name;
}
// Internal access to ConfigurationElement methods
internal bool InternalIsModified() {
return IsModified();
}
internal void InternalResetModified() {
ResetModified();
}
internal void InternalReset(ConfigurationElement parentElement) {
Reset(parentElement);
}
internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement,
ConfigurationSaveMode saveMode) {
// This requires a special unmerge because it should not act like an element in a collection
// which is the default behavior
Unmerge(sourceElement, parentElement, saveMode); // Base merge to get locks merged
BaseClear(); // don't use the merged data however
ProfileGroupSettingsCollection source = sourceElement as ProfileGroupSettingsCollection;
ProfileGroupSettingsCollection parent = parentElement as ProfileGroupSettingsCollection;
// foreach group in the source we should unmerge the individual settings.
foreach (ProfileGroupSettings settings in source) {
ProfileGroupSettings settingsFromParent = parent.Get(settings.Name);
ProfileGroupSettings deltaSettings = new ProfileGroupSettings();
deltaSettings.InternalUnmerge(settings, settingsFromParent, saveMode);
BaseAdd(deltaSettings);
}
}
internal bool InternalSerialize(XmlWriter writer, bool serializeCollectionKey) {
if (EmitClear == true) {
throw new ConfigurationErrorsException(SR.GetString(SR.Clear_not_valid));
}
return SerializeElement(writer, serializeCollectionKey);
}
// public methods
public void Add(ProfileGroupSettings group) {
BaseAdd(group);
}
public ProfileGroupSettings Get(int index) {
return (ProfileGroupSettings)BaseGet(index);
}
public ProfileGroupSettings Get(string name) {
return (ProfileGroupSettings)BaseGet(name);
}
public String GetKey(int index) {
return (String) BaseGetKey(index);
}
public void Set(ProfileGroupSettings group) {
BaseAdd(group, false);
}
public int IndexOf(ProfileGroupSettings group) {
return BaseIndexOf(group);
}
public void Remove(string name) {
ConfigurationElement elem = BaseGet(name);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemove(name);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void RemoveAt(int index) {
ConfigurationElement elem = BaseGet(index);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(index);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void Clear() {
int index = Count-1;
bModified = true;
for (int i = index; i >= 0; i--) {
ConfigurationElement elem = BaseGet(i);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(i);
}
}
}
}
protected override void ResetModified() {
bModified = false;
base.ResetModified();
}
protected override bool IsModified() {
if (bModified == true) {
return true;
}
return base.IsModified();
}
}
}
// 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;
[ConfigurationCollection(typeof(ProfileGroupSettings), AddItemName = "group")]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class ProfileGroupSettingsCollection : ConfigurationElementCollection {
private static ConfigurationPropertyCollection _properties;
private bool bModified = false;
static ProfileGroupSettingsCollection() {
_properties = new ConfigurationPropertyCollection();
}
public ProfileGroupSettingsCollection() {
AddElementName = "group";
ClearElementName = String.Empty; // This collection does not support Clear tags
EmitClear = false;
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
// public properties
public String[] AllKeys {
get {
return StringUtil.ObjectArrayToStringArray(BaseGetAllKeys());
}
}
public new ProfileGroupSettings this[string name] {
get {
return (ProfileGroupSettings)BaseGet(name);
}
}
public ProfileGroupSettings this[int index] {
get {
return (ProfileGroupSettings)BaseGet(index);
}
set {
if (BaseGet(index) != null) {
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
internal void AddOrReplace(ProfileGroupSettings groupSettings) {
BaseAdd(groupSettings, false);
}
// Protected Overrides
protected override ConfigurationElement CreateNewElement() {
return new ProfileGroupSettings();
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((ProfileGroupSettings)element).Name;
}
// Internal access to ConfigurationElement methods
internal bool InternalIsModified() {
return IsModified();
}
internal void InternalResetModified() {
ResetModified();
}
internal void InternalReset(ConfigurationElement parentElement) {
Reset(parentElement);
}
internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement,
ConfigurationSaveMode saveMode) {
// This requires a special unmerge because it should not act like an element in a collection
// which is the default behavior
Unmerge(sourceElement, parentElement, saveMode); // Base merge to get locks merged
BaseClear(); // don't use the merged data however
ProfileGroupSettingsCollection source = sourceElement as ProfileGroupSettingsCollection;
ProfileGroupSettingsCollection parent = parentElement as ProfileGroupSettingsCollection;
// foreach group in the source we should unmerge the individual settings.
foreach (ProfileGroupSettings settings in source) {
ProfileGroupSettings settingsFromParent = parent.Get(settings.Name);
ProfileGroupSettings deltaSettings = new ProfileGroupSettings();
deltaSettings.InternalUnmerge(settings, settingsFromParent, saveMode);
BaseAdd(deltaSettings);
}
}
internal bool InternalSerialize(XmlWriter writer, bool serializeCollectionKey) {
if (EmitClear == true) {
throw new ConfigurationErrorsException(SR.GetString(SR.Clear_not_valid));
}
return SerializeElement(writer, serializeCollectionKey);
}
// public methods
public void Add(ProfileGroupSettings group) {
BaseAdd(group);
}
public ProfileGroupSettings Get(int index) {
return (ProfileGroupSettings)BaseGet(index);
}
public ProfileGroupSettings Get(string name) {
return (ProfileGroupSettings)BaseGet(name);
}
public String GetKey(int index) {
return (String) BaseGetKey(index);
}
public void Set(ProfileGroupSettings group) {
BaseAdd(group, false);
}
public int IndexOf(ProfileGroupSettings group) {
return BaseIndexOf(group);
}
public void Remove(string name) {
ConfigurationElement elem = BaseGet(name);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemove(name);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void RemoveAt(int index) {
ConfigurationElement elem = BaseGet(index);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(index);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void Clear() {
int index = Count-1;
bModified = true;
for (int i = index; i >= 0; i--) {
ConfigurationElement elem = BaseGet(i);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(i);
}
}
}
}
protected override void ResetModified() {
bModified = false;
base.ResetModified();
}
protected override bool IsModified() {
if (bModified == true) {
return true;
}
return base.IsModified();
}
}
}
// 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
- BStrWrapper.cs
- Utils.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- CodeGen.cs
- JsonUriDataContract.cs
- EncoderReplacementFallback.cs
- XPathEmptyIterator.cs
- TransformGroup.cs
- AssemblyBuilder.cs
- StringSorter.cs
- LinqToSqlWrapper.cs
- DataGridColumn.cs
- SimpleHandlerBuildProvider.cs
- WorkflowViewManager.cs
- DictionaryMarkupSerializer.cs
- BindingExpressionUncommonField.cs
- precedingquery.cs
- Repeater.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- OrderedDictionaryStateHelper.cs
- ParameterModifier.cs
- ConfigXmlText.cs
- TextEndOfSegment.cs
- DataControlFieldCell.cs
- Viewport3DAutomationPeer.cs
- XsdValidatingReader.cs
- DesignerCategoryAttribute.cs
- Attributes.cs
- ConfigXmlReader.cs
- MSAAWinEventWrap.cs
- DocumentEventArgs.cs
- ElapsedEventArgs.cs
- DataFieldEditor.cs
- DataObjectMethodAttribute.cs
- ValueQuery.cs
- BehaviorDragDropEventArgs.cs
- SAPIEngineTypes.cs
- GeneralTransformGroup.cs
- Stacktrace.cs
- CustomAssemblyResolver.cs
- SecurityContextCookieSerializer.cs
- Rect.cs
- GlobalItem.cs
- Executor.cs
- MailWriter.cs
- ArithmeticException.cs
- PrincipalPermissionMode.cs
- XNodeNavigator.cs
- FrameSecurityDescriptor.cs
- StructuralObject.cs
- ViewManagerAttribute.cs
- WorkflowMessageEventHandler.cs
- Geometry.cs
- IsolatedStorageFile.cs
- WeakReferenceEnumerator.cs
- CssTextWriter.cs
- BulletedListEventArgs.cs
- IdentitySection.cs
- _ShellExpression.cs
- RotateTransform3D.cs
- RemotingAttributes.cs
- GetPageNumberCompletedEventArgs.cs
- DataServiceSaveChangesEventArgs.cs
- HtmlContainerControl.cs
- FrameworkEventSource.cs
- DesignerFrame.cs
- SqlException.cs
- MarkupWriter.cs
- ControlBindingsCollection.cs
- ViewKeyConstraint.cs
- NameValueSectionHandler.cs
- ListViewCommandEventArgs.cs
- GeneralTransform3DTo2D.cs
- Identifier.cs
- DataGridViewElement.cs
- SupportsPreviewControlAttribute.cs
- _ScatterGatherBuffers.cs
- SecureStringHasher.cs
- AdornerLayer.cs
- ProcessModelSection.cs
- AuthenticationManager.cs
- ProgressBarBrushConverter.cs
- TreeNodeCollection.cs
- XmlDownloadManager.cs
- Rfc2898DeriveBytes.cs
- PeerDefaultCustomResolverClient.cs
- IntranetCredentialPolicy.cs
- KerberosTicketHashIdentifierClause.cs
- ApplicationSecurityManager.cs
- ObjectListFieldCollection.cs
- DataStorage.cs
- TerminateSequence.cs
- StringExpressionSet.cs
- HitTestWithPointDrawingContextWalker.cs
- DataGrid.cs
- HealthMonitoringSectionHelper.cs
- StrongName.cs
- SafeFileMapViewHandle.cs
- ToolboxDataAttribute.cs
- LayoutDump.cs