Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Util / ProviderUtil.cs / 1 / 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); } #if UNUSED_CODE internal static void GetAndRemoveNonEmptyStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { GetNonEmptyStringAttributeInternal(config, attrib, providerName, ref val, false); config.Remove(attrib); } #endif 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)); } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VarInfo.cs
- UnmanagedMarshal.cs
- StreamUpdate.cs
- _BasicClient.cs
- Model3D.cs
- SequenceDesigner.cs
- ProviderMetadata.cs
- AsyncOperation.cs
- PolyQuadraticBezierSegment.cs
- DelegateBodyWriter.cs
- DataConnectionHelper.cs
- RuleProcessor.cs
- CreatingCookieEventArgs.cs
- ContentElement.cs
- NonSerializedAttribute.cs
- XmlDataSourceView.cs
- HandlerWithFactory.cs
- DataGridViewCellStyle.cs
- StateChangeEvent.cs
- WpfKnownMember.cs
- SortFieldComparer.cs
- JulianCalendar.cs
- UInt16.cs
- util.cs
- BinaryUtilClasses.cs
- ListViewUpdateEventArgs.cs
- TrackingParameters.cs
- LabelLiteral.cs
- EncryptedXml.cs
- coordinatorfactory.cs
- WebPartMenu.cs
- TreeNodeConverter.cs
- FormsIdentity.cs
- Evaluator.cs
- TextParagraphCache.cs
- EntityType.cs
- DynamicValueConverter.cs
- CacheAxisQuery.cs
- XAMLParseException.cs
- Label.cs
- RectConverter.cs
- EntityDesignerUtils.cs
- HelpInfo.cs
- BinarySerializer.cs
- CancelRequestedQuery.cs
- PartManifestEntry.cs
- StructureChangedEventArgs.cs
- NetDataContractSerializer.cs
- ServiceRouteHandler.cs
- NullEntityWrapper.cs
- MethodBuilder.cs
- remotingproxy.cs
- XmlNodeChangedEventManager.cs
- sqlcontext.cs
- DropShadowBitmapEffect.cs
- HashCodeCombiner.cs
- SkewTransform.cs
- HttpInputStream.cs
- CacheMemory.cs
- SID.cs
- DataControlFieldCollection.cs
- BoundPropertyEntry.cs
- CellTreeNode.cs
- ProtocolInformationWriter.cs
- XmlSerializationWriter.cs
- Accessible.cs
- Encoder.cs
- SamlAttributeStatement.cs
- AdornerPresentationContext.cs
- HttpSessionStateBase.cs
- Viewport3DAutomationPeer.cs
- DocumentViewerAutomationPeer.cs
- CompleteWizardStep.cs
- ProtocolElement.cs
- Menu.cs
- EdmEntityTypeAttribute.cs
- TemplateInstanceAttribute.cs
- ClientApiGenerator.cs
- IconHelper.cs
- SqlResolver.cs
- ByteStreamBufferedMessageData.cs
- ImportOptions.cs
- SocketElement.cs
- DataGridTableStyleMappingNameEditor.cs
- ProtocolElementCollection.cs
- InvalidOleVariantTypeException.cs
- Encoding.cs
- WebPart.cs
- StreamingContext.cs
- MsmqTransportSecurityElement.cs
- PropertyTabChangedEvent.cs
- FormViewInsertEventArgs.cs
- DoubleLinkListEnumerator.cs
- XmlILConstructAnalyzer.cs
- XmlSchemaAny.cs
- CodeMethodMap.cs
- AssemblyBuilderData.cs
- FilteredSchemaElementLookUpTable.cs
- FactoryGenerator.cs
- GenericParameterDataContract.cs