Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Util / ProviderUtil.cs / 1305376 / ProviderUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Sec * * Copyright (c) 1998-1999, Microsoft Corporation * */ namespace System.Web.Util { using System.Collections.Specialized; using System.Web.Mail; using System.Configuration; using System.Globalization; internal static class ProviderUtil { internal const int Infinite = Int32.MaxValue; internal static void GetAndRemoveStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { val = config.Get(attrib); config.Remove(attrib); } internal static void GetAndRemovePositiveAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { GetPositiveAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetPositiveAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { string s = config.Get(attrib); int t; if (s == null) { return; } try { t = Convert.ToInt32(s, CultureInfo.InvariantCulture); } catch (Exception e){ if (e is ArgumentException || e is FormatException || e is OverflowException) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } else { throw; } } if (t < 0) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } val = t; } internal static void GetAndRemovePositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { GetPositiveOrInfiniteAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetPositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { string s = config.Get(attrib); int t; if (s == null) { return; } if (s == "Infinite") { t = ProviderUtil.Infinite; } else { try { t = Convert.ToInt32(s, CultureInfo.InvariantCulture); } catch (Exception e){ if (e is ArgumentException || e is FormatException || e is OverflowException) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } else { throw; } } if (t < 0) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } } val = t; } internal static void GetAndRemoveNonZeroPositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { GetNonZeroPositiveOrInfiniteAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetNonZeroPositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { string s = config.Get(attrib); int t; if (s == null) { return; } if (s == "Infinite") { t = ProviderUtil.Infinite; } else { try { t = Convert.ToInt32(s, CultureInfo.InvariantCulture); } catch (Exception e){ if (e is ArgumentException || e is FormatException || e is OverflowException) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_non_zero_positive_attributes, attrib, providerName)); } else { throw; } } if (t <= 0) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_non_zero_positive_attributes, attrib, providerName)); } } val = t; } internal static void GetAndRemoveBooleanAttribute(NameValueCollection config, string attrib, string providerName, ref bool val) { GetBooleanAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetBooleanAttribute(NameValueCollection config, string attrib, string providerName, ref bool val) { string s = config.Get(attrib); if (s == null) { return; } if (s == "true") { val = true; } else if (s == "false") { val = false; } else { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_provider_attribute, attrib, providerName, s)); } } internal static void GetAndRemoveRequiredNonEmptyStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { GetRequiredNonEmptyStringAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetRequiredNonEmptyStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { GetNonEmptyStringAttributeInternal(config, attrib, providerName, ref val, true); } private static void GetNonEmptyStringAttributeInternal(NameValueCollection config, string attrib, string providerName, ref string val, bool required) { string s = config.Get(attrib); // If it's (null and required) -OR- (empty string) we throw if ((s == null && required) || (s.Length == 0)) { throw new ConfigurationErrorsException( SR.GetString(SR.Provider_missing_attribute, attrib, providerName)); } val = s; } internal static void CheckUnrecognizedAttributes(NameValueCollection config, string providerName) { if (config.Count > 0) { string attribUnrecognized = config.GetKey(0); if (!String.IsNullOrEmpty(attribUnrecognized)) throw new ConfigurationErrorsException( SR.GetString(SR.Unexpected_provider_attribute, attribUnrecognized, providerName)); } } } } // 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
- SerializationUtilities.cs
- UrlPropertyAttribute.cs
- ProfileGroupSettingsCollection.cs
- XmlFormatExtensionPrefixAttribute.cs
- RoleBoolean.cs
- CultureInfoConverter.cs
- TextServicesPropertyRanges.cs
- PriorityQueue.cs
- UrlMappingCollection.cs
- DataGridViewToolTip.cs
- NonClientArea.cs
- TransformProviderWrapper.cs
- DataColumnChangeEvent.cs
- IdentifierCollection.cs
- Odbc32.cs
- HitTestDrawingContextWalker.cs
- DataGridRowHeaderAutomationPeer.cs
- ComboBoxAutomationPeer.cs
- XmlAttributeHolder.cs
- WebColorConverter.cs
- LambdaCompiler.Generated.cs
- BindingBase.cs
- BoundingRectTracker.cs
- WinEventHandler.cs
- WindowsBrush.cs
- EndOfStreamException.cs
- UInt64Storage.cs
- DeploymentExceptionMapper.cs
- DeferredReference.cs
- WriterOutput.cs
- Win32.cs
- Paragraph.cs
- SmiContextFactory.cs
- DocumentViewerBase.cs
- ObjectDataSourceStatusEventArgs.cs
- MeasureItemEvent.cs
- GPRECT.cs
- Simplifier.cs
- CodeArgumentReferenceExpression.cs
- EnumConverter.cs
- CompilationRelaxations.cs
- DataObject.cs
- ThrowHelper.cs
- HtmlWindow.cs
- HttpCachePolicy.cs
- NetworkStream.cs
- TextAnchor.cs
- BitmapCodecInfo.cs
- StylusTouchDevice.cs
- Preprocessor.cs
- EntityViewContainer.cs
- RSAPKCS1KeyExchangeFormatter.cs
- ComponentCodeDomSerializer.cs
- AppDomainProtocolHandler.cs
- ValidationRule.cs
- ServiceModelTimeSpanValidator.cs
- TreeNodeMouseHoverEvent.cs
- TypeAccessException.cs
- IISUnsafeMethods.cs
- SQLBoolean.cs
- XmlNodeComparer.cs
- CompilationLock.cs
- DataGridLinkButton.cs
- ItemChangedEventArgs.cs
- EvidenceBase.cs
- AttributeCollection.cs
- SharedStatics.cs
- streamingZipPartStream.cs
- ConsoleCancelEventArgs.cs
- LingerOption.cs
- SystemIPv4InterfaceProperties.cs
- NavigationFailedEventArgs.cs
- ExpressionDumper.cs
- ViewStateModeByIdAttribute.cs
- NumberFormatter.cs
- HttpCacheVaryByContentEncodings.cs
- IpcChannel.cs
- SqlClientWrapperSmiStream.cs
- translator.cs
- SynchronizationLockException.cs
- DispatcherOperation.cs
- LinearQuaternionKeyFrame.cs
- WMICapabilities.cs
- PriorityBindingExpression.cs
- State.cs
- Enlistment.cs
- Container.cs
- SqlRowUpdatedEvent.cs
- TagElement.cs
- SiteIdentityPermission.cs
- parserscommon.cs
- HttpServerUtilityWrapper.cs
- RtfToXamlReader.cs
- DirectoryNotFoundException.cs
- FilterException.cs
- TypeDescriptionProviderAttribute.cs
- StorageAssociationSetMapping.cs
- HtmlTableRow.cs
- ToolStripItemTextRenderEventArgs.cs
- CallbackException.cs