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
- ProviderException.cs
- LocalizableResourceBuilder.cs
- XPathParser.cs
- SafeSecurityHandles.cs
- AccessText.cs
- OdbcPermission.cs
- SettingsBindableAttribute.cs
- VBCodeProvider.cs
- RIPEMD160.cs
- LinkTarget.cs
- ThicknessAnimationBase.cs
- MatrixTransform.cs
- Misc.cs
- WebPart.cs
- WindowsScroll.cs
- FileDialogCustomPlace.cs
- DeobfuscatingStream.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ByteFacetDescriptionElement.cs
- PartitionedStreamMerger.cs
- MouseActionConverter.cs
- Attachment.cs
- HTTPNotFoundHandler.cs
- Serializer.cs
- DataGridViewToolTip.cs
- CommonRemoteMemoryBlock.cs
- FilteredDataSetHelper.cs
- AudienceUriMode.cs
- IdentityHolder.cs
- ListViewTableRow.cs
- TextParaClient.cs
- CaseInsensitiveHashCodeProvider.cs
- MediaPlayerState.cs
- SplineQuaternionKeyFrame.cs
- AssemblyNameProxy.cs
- FileUtil.cs
- PolyLineSegmentFigureLogic.cs
- ObfuscationAttribute.cs
- MenuItem.cs
- IteratorDescriptor.cs
- Win32.cs
- DataBoundControlAdapter.cs
- RenderDataDrawingContext.cs
- TraceSection.cs
- xdrvalidator.cs
- ApplicationServiceManager.cs
- GifBitmapEncoder.cs
- LinqDataSourceUpdateEventArgs.cs
- AttachmentCollection.cs
- Root.cs
- DbExpressionVisitor_TResultType.cs
- UnmanagedBitmapWrapper.cs
- TreeNodeBindingCollection.cs
- DataTablePropertyDescriptor.cs
- ZipIOLocalFileHeader.cs
- AppSettingsExpressionEditor.cs
- FrameworkTemplate.cs
- TreeNodeClickEventArgs.cs
- SerializationAttributes.cs
- PointConverter.cs
- SortedSet.cs
- CodeTypeReference.cs
- ExpressionLexer.cs
- FixedSOMGroup.cs
- TemplateControlCodeDomTreeGenerator.cs
- Quaternion.cs
- PrimitiveXmlSerializers.cs
- XmlEncoding.cs
- ScriptReference.cs
- InternalEnumValidator.cs
- TimeStampChecker.cs
- DataColumnMapping.cs
- InfoCardCryptoHelper.cs
- Matrix.cs
- Misc.cs
- HierarchicalDataBoundControl.cs
- HttpContext.cs
- ValidationErrorCollection.cs
- AutomationElement.cs
- DataGridViewComponentPropertyGridSite.cs
- MailAddressParser.cs
- CommunicationObjectManager.cs
- ConnectionStringEditor.cs
- ClientRuntimeConfig.cs
- TextElement.cs
- EdmError.cs
- Registry.cs
- RsaSecurityKey.cs
- PropertyEmitter.cs
- WebPartTransformer.cs
- UserControl.cs
- BamlLocalizabilityResolver.cs
- DataBoundControlHelper.cs
- LineGeometry.cs
- CharacterHit.cs
- StatusBarAutomationPeer.cs
- HtmlLabelAdapter.cs
- CachingHintValidation.cs
- ObjectDataSourceSelectingEventArgs.cs
- RowUpdatingEventArgs.cs