Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / ConfigurationSchemaErrors.cs / 1305376 / ConfigurationSchemaErrors.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; internal class ConfigurationSchemaErrors { // Errors with ExceptionAction.Local are logged to this list. // This list is reset when processing of a section is complete. // Errors on this list may be added to the _errorsAll list // when RetrieveAndResetLocalErrors is called. private List_errorsLocal; // Errors with ExceptionAction.Global are logged to this list. private List _errorsGlobal; // All errors related to a config file are logged to this list. // This includes all global errors, all non-specific errors, // and local errors for input that applies to this config file. private List _errorsAll; internal ConfigurationSchemaErrors() {} internal bool HasLocalErrors { get { return ErrorsHelper.GetHasErrors(_errorsLocal); } } internal bool HasGlobalErrors { get { return ErrorsHelper.GetHasErrors(_errorsGlobal); } } private bool HasAllErrors { get { return ErrorsHelper.GetHasErrors(_errorsAll); } } internal int GlobalErrorCount { get { return ErrorsHelper.GetErrorCount(_errorsGlobal); } } // // Add a configuration Error. // internal void AddError(ConfigurationException ce, ExceptionAction action) { switch (action) { case ExceptionAction.Global: ErrorsHelper.AddError(ref _errorsAll, ce); ErrorsHelper.AddError(ref _errorsGlobal, ce); break; case ExceptionAction.NonSpecific: ErrorsHelper.AddError(ref _errorsAll, ce); break; case ExceptionAction.Local: ErrorsHelper.AddError(ref _errorsLocal, ce); break; } } internal void SetSingleGlobalError(ConfigurationException ce) { _errorsAll = null; _errorsLocal = null; _errorsGlobal = null; AddError(ce, ExceptionAction.Global); } internal bool HasErrors(bool ignoreLocal) { if (ignoreLocal) { return HasGlobalErrors; } else { return HasAllErrors; } } // ThrowIfErrors // // Throw if Errors were detected and remembered. // // Parameters: // IgnoreLocal - Should we be using the local errors also to // detemine if we should throw? // // Note: We will always return all the errors, no matter what // IgnoreLocal is. // internal void ThrowIfErrors(bool ignoreLocal) { if (HasErrors(ignoreLocal)) { if (HasGlobalErrors) { // Throw just the global errors, as they invalidate // all other config file parsing. throw new ConfigurationErrorsException(_errorsGlobal); } else { // Throw all errors no matter what throw new ConfigurationErrorsException(_errorsAll); } } } // RetrieveAndResetLocalErrors // // Retrieve the Local Errors, and Reset them to none. // internal List RetrieveAndResetLocalErrors(bool keepLocalErrors) { List list = _errorsLocal; _errorsLocal = null; if (keepLocalErrors) { ErrorsHelper.AddErrors(ref _errorsAll, list); } return list; } // // Add errors that have been saved for a specific section. // internal void AddSavedLocalErrors(ICollection coll) { ErrorsHelper.AddErrors(ref _errorsAll, coll); } // ResetLocalErrors // // Remove all the Local Errors, so we can start from scratch // internal void ResetLocalErrors() { RetrieveAndResetLocalErrors(false); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; internal class ConfigurationSchemaErrors { // Errors with ExceptionAction.Local are logged to this list. // This list is reset when processing of a section is complete. // Errors on this list may be added to the _errorsAll list // when RetrieveAndResetLocalErrors is called. private List_errorsLocal; // Errors with ExceptionAction.Global are logged to this list. private List _errorsGlobal; // All errors related to a config file are logged to this list. // This includes all global errors, all non-specific errors, // and local errors for input that applies to this config file. private List _errorsAll; internal ConfigurationSchemaErrors() {} internal bool HasLocalErrors { get { return ErrorsHelper.GetHasErrors(_errorsLocal); } } internal bool HasGlobalErrors { get { return ErrorsHelper.GetHasErrors(_errorsGlobal); } } private bool HasAllErrors { get { return ErrorsHelper.GetHasErrors(_errorsAll); } } internal int GlobalErrorCount { get { return ErrorsHelper.GetErrorCount(_errorsGlobal); } } // // Add a configuration Error. // internal void AddError(ConfigurationException ce, ExceptionAction action) { switch (action) { case ExceptionAction.Global: ErrorsHelper.AddError(ref _errorsAll, ce); ErrorsHelper.AddError(ref _errorsGlobal, ce); break; case ExceptionAction.NonSpecific: ErrorsHelper.AddError(ref _errorsAll, ce); break; case ExceptionAction.Local: ErrorsHelper.AddError(ref _errorsLocal, ce); break; } } internal void SetSingleGlobalError(ConfigurationException ce) { _errorsAll = null; _errorsLocal = null; _errorsGlobal = null; AddError(ce, ExceptionAction.Global); } internal bool HasErrors(bool ignoreLocal) { if (ignoreLocal) { return HasGlobalErrors; } else { return HasAllErrors; } } // ThrowIfErrors // // Throw if Errors were detected and remembered. // // Parameters: // IgnoreLocal - Should we be using the local errors also to // detemine if we should throw? // // Note: We will always return all the errors, no matter what // IgnoreLocal is. // internal void ThrowIfErrors(bool ignoreLocal) { if (HasErrors(ignoreLocal)) { if (HasGlobalErrors) { // Throw just the global errors, as they invalidate // all other config file parsing. throw new ConfigurationErrorsException(_errorsGlobal); } else { // Throw all errors no matter what throw new ConfigurationErrorsException(_errorsAll); } } } // RetrieveAndResetLocalErrors // // Retrieve the Local Errors, and Reset them to none. // internal List RetrieveAndResetLocalErrors(bool keepLocalErrors) { List list = _errorsLocal; _errorsLocal = null; if (keepLocalErrors) { ErrorsHelper.AddErrors(ref _errorsAll, list); } return list; } // // Add errors that have been saved for a specific section. // internal void AddSavedLocalErrors(ICollection coll) { ErrorsHelper.AddErrors(ref _errorsAll, coll); } // ResetLocalErrors // // Remove all the Local Errors, so we can start from scratch // internal void ResetLocalErrors() { RetrieveAndResetLocalErrors(false); } } } // 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
- ServiceNameElement.cs
- Tag.cs
- MultitargetUtil.cs
- PageRequestManager.cs
- Decoder.cs
- ToolStripItemClickedEventArgs.cs
- SystemFonts.cs
- MultiSelector.cs
- ParenExpr.cs
- XmlCollation.cs
- ActivationServices.cs
- RecipientInfo.cs
- SettingsPropertyIsReadOnlyException.cs
- Msec.cs
- DbCommandDefinition.cs
- SettingsSavedEventArgs.cs
- BatchParser.cs
- CompositeDataBoundControl.cs
- PropertyTab.cs
- StructuralCache.cs
- SessionStateSection.cs
- Win32SafeHandles.cs
- Encoder.cs
- LogicalTreeHelper.cs
- cache.cs
- ShadowGlyph.cs
- MenuScrollingVisibilityConverter.cs
- IndexerNameAttribute.cs
- InvalidOperationException.cs
- ContentElement.cs
- ArrayElementGridEntry.cs
- Point3DValueSerializer.cs
- DynamicValueConverter.cs
- RelationshipSet.cs
- BaseTemplateBuildProvider.cs
- LoginAutoFormat.cs
- Hashtable.cs
- SQLDateTime.cs
- VerticalAlignConverter.cs
- Control.cs
- Slider.cs
- ProfilePropertySettings.cs
- IncrementalCompileAnalyzer.cs
- DateTimeConverter2.cs
- DataQuery.cs
- ComponentEvent.cs
- FilteredDataSetHelper.cs
- TextMessageEncodingElement.cs
- SystemIcmpV4Statistics.cs
- SQLGuid.cs
- EventHandlerList.cs
- TriggerActionCollection.cs
- ProvideValueServiceProvider.cs
- DifferencingCollection.cs
- Guid.cs
- xmlfixedPageInfo.cs
- WebBrowserNavigatedEventHandler.cs
- XmlCDATASection.cs
- TableCellCollection.cs
- FontFamily.cs
- MdiWindowListStrip.cs
- WindowInteropHelper.cs
- VoiceInfo.cs
- CssTextWriter.cs
- QilParameter.cs
- WindowsButton.cs
- ComponentRenameEvent.cs
- WorkflowServiceInstance.cs
- WrapperEqualityComparer.cs
- TaiwanCalendar.cs
- AesManaged.cs
- SwitchAttribute.cs
- TextCompositionManager.cs
- CompilerCollection.cs
- FormViewUpdatedEventArgs.cs
- UnrecognizedAssertionsBindingElement.cs
- PeerApplication.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- EntityCommandExecutionException.cs
- CodeParameterDeclarationExpressionCollection.cs
- ModifierKeysValueSerializer.cs
- ManipulationDeltaEventArgs.cs
- FlowDocument.cs
- LockedHandleGlyph.cs
- DisplayInformation.cs
- SecurityHelper.cs
- DataServiceConfiguration.cs
- FreezableCollection.cs
- SingleTagSectionHandler.cs
- Padding.cs
- XmlRootAttribute.cs
- ModulesEntry.cs
- LifetimeServices.cs
- StyleSheetRefUrlEditor.cs
- SpeechSynthesizer.cs
- Listbox.cs
- PropertySet.cs
- XsdCachingReader.cs
- ExpressionBuilderContext.cs
- RoleServiceManager.cs