Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ServiceNameCollection.cs
- _UriTypeConverter.cs
- HttpListenerPrefixCollection.cs
- MimeXmlReflector.cs
- BitmapEffectInput.cs
- DataGridViewAdvancedBorderStyle.cs
- SequenceRangeCollection.cs
- ScrollEvent.cs
- DSASignatureFormatter.cs
- PageStatePersister.cs
- XmlWrappingReader.cs
- FontDriver.cs
- XXXOnTypeBuilderInstantiation.cs
- RoleService.cs
- InheritanceRules.cs
- Bidi.cs
- HttpWebRequestElement.cs
- KeySpline.cs
- TextSpan.cs
- BitmapCodecInfo.cs
- MapPathBasedVirtualPathProvider.cs
- Policy.cs
- MsmqEncryptionAlgorithm.cs
- WebRequestModulesSection.cs
- ValidationContext.cs
- DisplayClaim.cs
- Menu.cs
- ToolStripSeparatorRenderEventArgs.cs
- XmlValidatingReader.cs
- _ServiceNameStore.cs
- SqlServices.cs
- regiisutil.cs
- RegisteredScript.cs
- HostedHttpContext.cs
- UnauthorizedAccessException.cs
- Compiler.cs
- TiffBitmapDecoder.cs
- _HTTPDateParse.cs
- MediaContextNotificationWindow.cs
- StringUtil.cs
- Label.cs
- CodeCatchClauseCollection.cs
- ThreadAttributes.cs
- TextDecorationCollection.cs
- dataSvcMapFileLoader.cs
- RecognizerStateChangedEventArgs.cs
- OdbcConnectionStringbuilder.cs
- DesignerListAdapter.cs
- Zone.cs
- RepeaterItemEventArgs.cs
- EmptyCollection.cs
- SqlUdtInfo.cs
- MatrixUtil.cs
- FtpCachePolicyElement.cs
- SchemaElementLookUpTableEnumerator.cs
- AssemblyInfo.cs
- ViewSimplifier.cs
- StateItem.cs
- AbstractExpressions.cs
- StrokeCollection2.cs
- RTLAwareMessageBox.cs
- MobileTextWriter.cs
- XmlDataSourceNodeDescriptor.cs
- Vector.cs
- DependencyPropertyKey.cs
- FaultFormatter.cs
- LinqDataSourceDeleteEventArgs.cs
- ListViewTableCell.cs
- RunInstallerAttribute.cs
- ObjectQueryExecutionPlan.cs
- BatchParser.cs
- RequestResizeEvent.cs
- TypeToken.cs
- COM2PropertyDescriptor.cs
- MouseDevice.cs
- SafeProcessHandle.cs
- XmlQuerySequence.cs
- ImmComposition.cs
- OdbcException.cs
- PersonalizationStateInfo.cs
- StateFinalizationActivity.cs
- DbDataAdapter.cs
- SQLRoleProvider.cs
- GridToolTip.cs
- DesignerLinkAdapter.cs
- Keyboard.cs
- Cell.cs
- PointLight.cs
- dataobject.cs
- ToolZone.cs
- OlePropertyStructs.cs
- BrowsableAttribute.cs
- MessageContractAttribute.cs
- UnsafeNativeMethodsCLR.cs
- WorkflowOperationFault.cs
- DrawingContextDrawingContextWalker.cs
- DesignTimeVisibleAttribute.cs
- LocalizeDesigner.cs
- ContentTextAutomationPeer.cs
- SoapHttpTransportImporter.cs