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
- BlockCollection.cs
- TimeoutException.cs
- oledbconnectionstring.cs
- TreeViewCancelEvent.cs
- FileSystemInfo.cs
- UdpTransportSettings.cs
- xsdvalidator.cs
- FormViewModeEventArgs.cs
- IisTraceWebEventProvider.cs
- ApplicationDirectory.cs
- SizeAnimationClockResource.cs
- MimeReflector.cs
- PropertyGeneratedEventArgs.cs
- RequestDescription.cs
- CriticalFinalizerObject.cs
- DirectoryInfo.cs
- SByte.cs
- Rotation3D.cs
- ComponentResourceKey.cs
- WrapPanel.cs
- BitmapCacheBrush.cs
- CqlParser.cs
- LocalServiceSecuritySettings.cs
- SimpleModelProvider.cs
- ResourceDictionary.cs
- ComboBoxAutomationPeer.cs
- WarningException.cs
- XpsTokenContext.cs
- TypeConstant.cs
- RemoteWebConfigurationHostStream.cs
- PropertyValue.cs
- TaskFactory.cs
- SspiWrapper.cs
- FormCollection.cs
- CompilerCollection.cs
- SqlDataSourceQueryEditor.cs
- _NestedSingleAsyncResult.cs
- TableItemStyle.cs
- peernodestatemanager.cs
- ReachSerializableProperties.cs
- Executor.cs
- RequestCache.cs
- ApplicationSettingsBase.cs
- PhysicalFontFamily.cs
- ControlPaint.cs
- OpenFileDialog.cs
- LinqDataSourceView.cs
- XPathPatternBuilder.cs
- UnhandledExceptionEventArgs.cs
- CompareValidator.cs
- ProcessHostFactoryHelper.cs
- HtmlTextBoxAdapter.cs
- WebInvokeAttribute.cs
- OperationCanceledException.cs
- Parsers.cs
- HandlerFactoryWrapper.cs
- HGlobalSafeHandle.cs
- SqlBulkCopy.cs
- AuthenticatingEventArgs.cs
- QuaternionIndependentAnimationStorage.cs
- ObjectStateManagerMetadata.cs
- SessionStateItemCollection.cs
- Calendar.cs
- storepermissionattribute.cs
- Membership.cs
- TraceUtility.cs
- StringUtil.cs
- TextDecorationCollectionConverter.cs
- Timer.cs
- PersonalizationStateInfo.cs
- Formatter.cs
- Speller.cs
- DeobfuscatingStream.cs
- IisTraceListener.cs
- NameGenerator.cs
- IdentityReference.cs
- HtmlAnchor.cs
- MessageQueuePermissionAttribute.cs
- CustomValidator.cs
- PerfProviderCollection.cs
- ZipIOBlockManager.cs
- Button.cs
- ListViewCommandEventArgs.cs
- Lasso.cs
- FacetDescriptionElement.cs
- MatrixUtil.cs
- JsonObjectDataContract.cs
- PenThread.cs
- SHA1.cs
- HelpInfo.cs
- Quaternion.cs
- DelegatingHeader.cs
- XmlDataSourceView.cs
- WebRequestModuleElementCollection.cs
- UrlMappingCollection.cs
- DataServiceQuery.cs
- WebPartMinimizeVerb.cs
- GrammarBuilderBase.cs
- QuerySettings.cs
- InvocationExpression.cs