Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- KeyFrames.cs
- FileLevelControlBuilderAttribute.cs
- _AutoWebProxyScriptHelper.cs
- ProfessionalColors.cs
- XPathQilFactory.cs
- ProfessionalColorTable.cs
- BackoffTimeoutHelper.cs
- RotateTransform.cs
- PointAnimationUsingKeyFrames.cs
- MembershipAdapter.cs
- BuildManager.cs
- StatusBarItemAutomationPeer.cs
- DictionaryItemsCollection.cs
- CodePageUtils.cs
- LineInfo.cs
- ModelFunction.cs
- KeyValueInternalCollection.cs
- MsmqIntegrationElement.cs
- SqlDataSourceSelectingEventArgs.cs
- MethodToken.cs
- Bezier.cs
- StretchValidation.cs
- GeneratedView.cs
- TableCell.cs
- parserscommon.cs
- SerializationObjectManager.cs
- IImplicitResourceProvider.cs
- HintTextConverter.cs
- SpinLock.cs
- CatalogPartDesigner.cs
- DependencyProperty.cs
- SqlMethodAttribute.cs
- SoapReflector.cs
- UserNamePasswordValidationMode.cs
- ParseChildrenAsPropertiesAttribute.cs
- CompModHelpers.cs
- PathData.cs
- PngBitmapDecoder.cs
- MimeReturn.cs
- TraceSection.cs
- HttpServerVarsCollection.cs
- Emitter.cs
- ViewStateModeByIdAttribute.cs
- ElementFactory.cs
- FieldMetadata.cs
- HandoffBehavior.cs
- SafeBitVector32.cs
- WhitespaceSignificantCollectionAttribute.cs
- TextServicesDisplayAttribute.cs
- Events.cs
- SynchronizedCollection.cs
- PersonalizationDictionary.cs
- ModelPropertyImpl.cs
- CompiledRegexRunnerFactory.cs
- ListViewItem.cs
- TreeView.cs
- ManagementClass.cs
- SpeechAudioFormatInfo.cs
- DocumentEventArgs.cs
- TraversalRequest.cs
- DataSourceControl.cs
- SiteMapDataSource.cs
- TCPListener.cs
- SHA1.cs
- IncrementalHitTester.cs
- ClipboardData.cs
- DataStreamFromComStream.cs
- CalendarDateRange.cs
- VerticalAlignConverter.cs
- Activator.cs
- ListViewDataItem.cs
- ArrayHelper.cs
- HandleCollector.cs
- safelinkcollection.cs
- NamespaceMapping.cs
- pingexception.cs
- CommandBinding.cs
- XsltInput.cs
- ActivityScheduledRecord.cs
- JsonSerializer.cs
- UnknownBitmapDecoder.cs
- Popup.cs
- WebPartActionVerb.cs
- Byte.cs
- DataMisalignedException.cs
- PersonalizableTypeEntry.cs
- TypeExtensionSerializer.cs
- InfoCardBaseException.cs
- BindingExpressionUncommonField.cs
- MetadataFile.cs
- WebConfigurationManager.cs
- CompositeControl.cs
- XmlDataImplementation.cs
- ExtendedPropertyDescriptor.cs
- TableCellCollection.cs
- SystemIPAddressInformation.cs
- SchemaCollectionPreprocessor.cs
- sqlinternaltransaction.cs
- XmlSubtreeReader.cs
- Select.cs