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
- MasterPageCodeDomTreeGenerator.cs
- AssemblyAttributesGoHere.cs
- BaseProcessor.cs
- Signature.cs
- GenericTextProperties.cs
- NameValueConfigurationElement.cs
- FirstMatchCodeGroup.cs
- ClientOperationFormatterProvider.cs
- CoTaskMemHandle.cs
- AppSettingsExpressionBuilder.cs
- RandomDelaySendsAsyncResult.cs
- Menu.cs
- EntityCommandDefinition.cs
- RestHandler.cs
- SqlDataSource.cs
- WebPartConnectVerb.cs
- DataTableCollection.cs
- Attributes.cs
- AssemblyBuilder.cs
- TriggerAction.cs
- PermissionSet.cs
- ImageListUtils.cs
- TypeNameConverter.cs
- ClientRoleProvider.cs
- XmlAttributeOverrides.cs
- SkewTransform.cs
- FontWeightConverter.cs
- ProfileManager.cs
- ProcessModule.cs
- Camera.cs
- WinEventWrap.cs
- DesignerGenericWebPart.cs
- SQLCharsStorage.cs
- VariableDesigner.xaml.cs
- ItemAutomationPeer.cs
- WebServiceAttribute.cs
- FacetDescriptionElement.cs
- ControllableStoryboardAction.cs
- TdsParserStateObject.cs
- TabRenderer.cs
- QilFunction.cs
- DataGridViewCellConverter.cs
- StorageScalarPropertyMapping.cs
- AssertFilter.cs
- ObjectDataSourceDisposingEventArgs.cs
- SerializerProvider.cs
- CodeAccessSecurityEngine.cs
- ModelItemDictionary.cs
- CodeTypeOfExpression.cs
- NetTcpSectionData.cs
- HandoffBehavior.cs
- DesignTimeTemplateParser.cs
- documentsequencetextcontainer.cs
- HttpDebugHandler.cs
- XmlDataDocument.cs
- SplineKeyFrames.cs
- ClientBuildManagerCallback.cs
- LoginUtil.cs
- RegexRunnerFactory.cs
- TemplateControl.cs
- ClosableStream.cs
- CompilerInfo.cs
- AccessDataSourceDesigner.cs
- Zone.cs
- SplitContainer.cs
- ConfigXmlCDataSection.cs
- EventManager.cs
- Dictionary.cs
- WizardSideBarListControlItem.cs
- HopperCache.cs
- FrameworkElement.cs
- WSSecureConversationDec2005.cs
- MyContact.cs
- WindowsFormsEditorServiceHelper.cs
- LicenseContext.cs
- OleTxTransaction.cs
- HttpHandlerActionCollection.cs
- DataBindingExpressionBuilder.cs
- XmlDataDocument.cs
- PathNode.cs
- MethodToken.cs
- CharEntityEncoderFallback.cs
- InvokeWebServiceDesigner.cs
- SafeSecurityHandles.cs
- InfocardExtendedInformationEntry.cs
- TrackingProfileDeserializationException.cs
- SemaphoreSecurity.cs
- TableLayoutPanelCellPosition.cs
- SlotInfo.cs
- SQLBinaryStorage.cs
- PowerStatus.cs
- ToolStripContentPanelRenderEventArgs.cs
- HttpCachePolicyElement.cs
- WebPartZone.cs
- COM2ComponentEditor.cs
- DoubleCollectionConverter.cs
- WebPartAddingEventArgs.cs
- Page.cs
- SmtpFailedRecipientException.cs
- BuildManagerHost.cs