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
- ToolStripItem.cs
- FunctionOverloadResolver.cs
- KeyboardEventArgs.cs
- CommandPlan.cs
- RecognizedPhrase.cs
- HttpHostedTransportConfiguration.cs
- NameValueConfigurationCollection.cs
- XPathExpr.cs
- Utils.cs
- StringReader.cs
- Positioning.cs
- HtmlTextArea.cs
- InvalidProgramException.cs
- WebPageTraceListener.cs
- bidPrivateBase.cs
- QuadraticEase.cs
- PagesChangedEventArgs.cs
- iisPickupDirectory.cs
- FilterException.cs
- BatchWriter.cs
- GlyphInfoList.cs
- LogLogRecordEnumerator.cs
- ChtmlTextWriter.cs
- ListChunk.cs
- ConfigurationFileMap.cs
- SettingsSavedEventArgs.cs
- ThreadWorkerController.cs
- TextTreeTextBlock.cs
- DrawingImage.cs
- ConnectionAcceptor.cs
- Object.cs
- SessionStateContainer.cs
- DataGridViewAccessibleObject.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- AttachedAnnotation.cs
- SignatureResourcePool.cs
- ControlParameter.cs
- TypeRestriction.cs
- IImplicitResourceProvider.cs
- QueryPageSettingsEventArgs.cs
- TypeGenericEnumerableViewSchema.cs
- RegistrationServices.cs
- RawStylusInput.cs
- ResXFileRef.cs
- BamlRecordHelper.cs
- DtdParser.cs
- nulltextcontainer.cs
- HttpCapabilitiesBase.cs
- TreeSet.cs
- LocalizableAttribute.cs
- Nodes.cs
- DisplayMemberTemplateSelector.cs
- FlowDocumentPageViewerAutomationPeer.cs
- DataTablePropertyDescriptor.cs
- _NegoState.cs
- DbConnectionInternal.cs
- SchemaElement.cs
- SqlClientPermission.cs
- ServiceConfigurationTraceRecord.cs
- HttpListenerTimeoutManager.cs
- WS2007FederationHttpBindingElement.cs
- Visitors.cs
- WindowPattern.cs
- EnumerableValidator.cs
- CFGGrammar.cs
- OperandQuery.cs
- EncodingTable.cs
- ResourceIDHelper.cs
- OdbcInfoMessageEvent.cs
- CultureInfoConverter.cs
- EventLogPermissionAttribute.cs
- RunWorkerCompletedEventArgs.cs
- ValidationEventArgs.cs
- XmlC14NWriter.cs
- XmlSchemaSubstitutionGroup.cs
- Column.cs
- OneOf.cs
- Serializer.cs
- EntityDataSourceContextCreatingEventArgs.cs
- TextPenaltyModule.cs
- altserialization.cs
- ChannelServices.cs
- ListCollectionView.cs
- ExtendedPropertyDescriptor.cs
- FlowDocumentFormatter.cs
- State.cs
- Matrix3DStack.cs
- Int32CAMarshaler.cs
- DataReaderContainer.cs
- MenuItemStyleCollection.cs
- infer.cs
- BitmapEffectGeneralTransform.cs
- CodeSnippetTypeMember.cs
- SimpleRecyclingCache.cs
- TreeBuilder.cs
- MediaCommands.cs
- MatrixValueSerializer.cs
- KnownIds.cs
- ListItemCollection.cs
- SynchronizedDispatch.cs