Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Lease.cs
- EncodedStreamFactory.cs
- CustomSignedXml.cs
- KnownBoxes.cs
- CounterCreationData.cs
- RangeBase.cs
- BinaryConverter.cs
- CheckBoxBaseAdapter.cs
- Lease.cs
- DragDeltaEventArgs.cs
- ControlIdConverter.cs
- MetabaseSettings.cs
- MethodBuilderInstantiation.cs
- LogicalTreeHelper.cs
- StatusInfoItem.cs
- JpegBitmapEncoder.cs
- FontCacheUtil.cs
- ProtocolsConfigurationEntry.cs
- IEnumerable.cs
- TemplateControlBuildProvider.cs
- DocumentXmlWriter.cs
- SmiGettersStream.cs
- MarkupExtensionParser.cs
- WorkItem.cs
- AggregateNode.cs
- Property.cs
- FaultContractAttribute.cs
- MSAAEventDispatcher.cs
- HostingEnvironmentException.cs
- MetadataPropertyvalue.cs
- ElementMarkupObject.cs
- DocumentSchemaValidator.cs
- OciHandle.cs
- SequenceDesigner.cs
- PointLight.cs
- mda.cs
- WindowsScrollBar.cs
- ImageMapEventArgs.cs
- MemberCollection.cs
- StrongNameUtility.cs
- designeractionlistschangedeventargs.cs
- SwitchAttribute.cs
- wgx_exports.cs
- ResourceDescriptionAttribute.cs
- arabicshape.cs
- StringCollection.cs
- DataGridTextBoxColumn.cs
- SQLInt16Storage.cs
- XmlSchemaComplexType.cs
- FlowLayoutSettings.cs
- PngBitmapDecoder.cs
- HtmlAnchor.cs
- ExpressionParser.cs
- SafeHandles.cs
- Transform3DGroup.cs
- BitmapPalette.cs
- DataGridViewElement.cs
- SamlConditions.cs
- HiddenField.cs
- PresentationAppDomainManager.cs
- VirtualizedItemProviderWrapper.cs
- UriTemplateDispatchFormatter.cs
- PhysicalAddress.cs
- HwndKeyboardInputProvider.cs
- Attribute.cs
- ClientBuildManager.cs
- DataViewListener.cs
- DataConnectionHelper.cs
- NumberFunctions.cs
- HTMLTextWriter.cs
- PageThemeParser.cs
- ToolStripMenuItem.cs
- MD5HashHelper.cs
- CriticalHandle.cs
- AutomationPropertyInfo.cs
- FilteredSchemaElementLookUpTable.cs
- Main.cs
- IteratorFilter.cs
- XmlDomTextWriter.cs
- NameTable.cs
- LineSegment.cs
- BuildDependencySet.cs
- ProviderSettingsCollection.cs
- Compress.cs
- MDIControlStrip.cs
- PropertyKey.cs
- PocoPropertyAccessorStrategy.cs
- ZoneLinkButton.cs
- DoubleLinkList.cs
- SecurityTokenException.cs
- SqlTransaction.cs
- EdgeModeValidation.cs
- EnumerableRowCollection.cs
- SerialReceived.cs
- Span.cs
- FaultBookmark.cs
- OrthographicCamera.cs
- LineSegment.cs
- HtmlInputText.cs
- WebPartTransformer.cs