Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Configuration / System / Configuration / ConfigurationSchemaErrors.cs / 1 / 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
- ScrollableControl.cs
- Monitor.cs
- DataTransferEventArgs.cs
- HotSpotCollectionEditor.cs
- PrintDialogDesigner.cs
- AtlasWeb.Designer.cs
- AttributeQuery.cs
- HttpListenerRequest.cs
- DnsElement.cs
- VectorKeyFrameCollection.cs
- MatrixUtil.cs
- NullableDoubleMinMaxAggregationOperator.cs
- ButtonColumn.cs
- DuplicateWaitObjectException.cs
- DrawingContextFlattener.cs
- DefaultIfEmptyQueryOperator.cs
- ReferenceAssemblyAttribute.cs
- ContextStack.cs
- TextBlock.cs
- ToolBarOverflowPanel.cs
- DiscoveryCallbackBehavior.cs
- figurelengthconverter.cs
- ZipPackage.cs
- PersonalizablePropertyEntry.cs
- StylesEditorDialog.cs
- FormsAuthenticationTicket.cs
- ImageConverter.cs
- serverconfig.cs
- SemanticKeyElement.cs
- SubMenuStyle.cs
- SiteMapDataSourceDesigner.cs
- DockingAttribute.cs
- WorkflowViewStateService.cs
- BufferAllocator.cs
- TextEffect.cs
- ObjectIDGenerator.cs
- PrinterUnitConvert.cs
- SelectionChangedEventArgs.cs
- TemplateModeChangedEventArgs.cs
- ErrorsHelper.cs
- DocumentViewerAutomationPeer.cs
- XmlReader.cs
- Sql8ExpressionRewriter.cs
- CustomSignedXml.cs
- ControlCachePolicy.cs
- ReadOnlyDictionary.cs
- UnmanagedBitmapWrapper.cs
- Query.cs
- MenuCommands.cs
- TextProperties.cs
- PriorityRange.cs
- WebPartEditorCancelVerb.cs
- PassportAuthenticationEventArgs.cs
- TreeNodeClickEventArgs.cs
- ProxyGenerationError.cs
- CancelEventArgs.cs
- ExtenderProviderService.cs
- RuleRef.cs
- MessageBox.cs
- UpDownEvent.cs
- VerificationAttribute.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- AccessibleObject.cs
- namescope.cs
- RtType.cs
- TableSectionStyle.cs
- UniqueID.cs
- ReaderWriterLockSlim.cs
- ConstructorBuilder.cs
- WebBrowserNavigatedEventHandler.cs
- HwndSubclass.cs
- SqlVersion.cs
- WmlListAdapter.cs
- StringReader.cs
- DataProtection.cs
- MouseGestureConverter.cs
- HighContrastHelper.cs
- ProfilePropertyMetadata.cs
- ReadOnlyAttribute.cs
- SafeTimerHandle.cs
- DynamicControl.cs
- PeerObject.cs
- X509IssuerSerialKeyIdentifierClause.cs
- WebPartAuthorizationEventArgs.cs
- XslCompiledTransform.cs
- DesignerVerbCollection.cs
- ThreadExceptionDialog.cs
- KeyedHashAlgorithm.cs
- UIServiceHelper.cs
- TabletDevice.cs
- Emitter.cs
- LexicalChunk.cs
- ToolStripKeyboardHandlingService.cs
- TemplateManager.cs
- SerializationSectionGroup.cs
- FormsAuthenticationConfiguration.cs
- Error.cs
- DBPropSet.cs
- DataTablePropertyDescriptor.cs
- DataKey.cs