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
- Monitor.cs
- DragCompletedEventArgs.cs
- versioninfo.cs
- DependencyObjectProvider.cs
- MsmqOutputSessionChannel.cs
- PackageProperties.cs
- CounterCreationDataConverter.cs
- DialogResultConverter.cs
- BaseEntityWrapper.cs
- ClientSettings.cs
- HttpRequestWrapper.cs
- StylusPointPropertyUnit.cs
- InitializationEventAttribute.cs
- RootBrowserWindowProxy.cs
- DataGridDetailsPresenterAutomationPeer.cs
- StaticContext.cs
- DataRowView.cs
- ScaleTransform3D.cs
- UserControlDesigner.cs
- PermissionSet.cs
- ConditionChanges.cs
- FreezableCollection.cs
- HostExecutionContextManager.cs
- SQLBinary.cs
- UnsafeNativeMethods.cs
- ControlCodeDomSerializer.cs
- FontStretch.cs
- PageCodeDomTreeGenerator.cs
- OverlappedContext.cs
- ValidationEventArgs.cs
- HtmlContainerControl.cs
- HtmlHistory.cs
- XPathDocumentNavigator.cs
- ExportException.cs
- OdbcFactory.cs
- TextEncodedRawTextWriter.cs
- FormsAuthentication.cs
- SiteMapNode.cs
- Asn1Utilities.cs
- SerialReceived.cs
- SystemIcons.cs
- ResourceDisplayNameAttribute.cs
- ToolboxDataAttribute.cs
- SimpleTypeResolver.cs
- TrackingMemoryStreamFactory.cs
- EntityDataSourceColumn.cs
- HuffCodec.cs
- ApplicationDirectory.cs
- coordinatorscratchpad.cs
- WindowsFormsSynchronizationContext.cs
- DeferredElementTreeState.cs
- PngBitmapEncoder.cs
- CodeDirectionExpression.cs
- SpoolingTask.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- ManualResetEvent.cs
- DocumentOrderComparer.cs
- RenameRuleObjectDialog.Designer.cs
- TextParaClient.cs
- AtomicFile.cs
- DetailsViewRow.cs
- WebUtil.cs
- MILUtilities.cs
- PtsHost.cs
- filewebresponse.cs
- LocalClientSecuritySettingsElement.cs
- SymmetricAlgorithm.cs
- FrameDimension.cs
- ZipIOExtraFieldZip64Element.cs
- DataSourceCacheDurationConverter.cs
- ProfileSettings.cs
- XmlWriterTraceListener.cs
- RenderDataDrawingContext.cs
- TextParagraphProperties.cs
- ListBoxItemWrapperAutomationPeer.cs
- SignerInfo.cs
- NativeCppClassAttribute.cs
- TextElementCollection.cs
- PipelineDeploymentState.cs
- DataGridItem.cs
- loginstatus.cs
- HwndStylusInputProvider.cs
- Expressions.cs
- InstanceHandleReference.cs
- ActivityWithResult.cs
- BulletedListEventArgs.cs
- MinMaxParagraphWidth.cs
- FileDialog.cs
- AdCreatedEventArgs.cs
- ClientCredentials.cs
- DecoderExceptionFallback.cs
- CodeCatchClause.cs
- TrackingAnnotationCollection.cs
- TdsParserSessionPool.cs
- KeyEvent.cs
- _CacheStreams.cs
- PageTheme.cs
- NoResizeSelectionBorderGlyph.cs
- RegexTree.cs
- NumericPagerField.cs