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
- hresults.cs
- ReadOnlyHierarchicalDataSourceView.cs
- InvalidWMPVersionException.cs
- TimeoutException.cs
- HtmlControlPersistable.cs
- DBSchemaTable.cs
- PerspectiveCamera.cs
- MailAddress.cs
- HttpCapabilitiesEvaluator.cs
- NonSerializedAttribute.cs
- ToolStripPanelRenderEventArgs.cs
- Header.cs
- SpeakInfo.cs
- SqlServer2KCompatibilityCheck.cs
- ApplicationDirectory.cs
- RedirectionProxy.cs
- X509Certificate.cs
- SystemInfo.cs
- SectionVisual.cs
- CommandEventArgs.cs
- __TransparentProxy.cs
- DataStorage.cs
- DataListCommandEventArgs.cs
- FrameworkElementFactoryMarkupObject.cs
- InputLanguageProfileNotifySink.cs
- WebHttpSecurityElement.cs
- EntityDesignerDataSourceView.cs
- BitmapData.cs
- ImmutableCommunicationTimeouts.cs
- MenuItem.cs
- EntityAdapter.cs
- Switch.cs
- PropertyNames.cs
- FrameDimension.cs
- KnownTypes.cs
- GradientSpreadMethodValidation.cs
- XmlNodeChangedEventManager.cs
- CellIdBoolean.cs
- SHA512CryptoServiceProvider.cs
- SystemIPv4InterfaceProperties.cs
- ConsoleKeyInfo.cs
- RotationValidation.cs
- SqlTopReducer.cs
- XPathAncestorIterator.cs
- GeometryGroup.cs
- TempFiles.cs
- DbConnectionStringCommon.cs
- EventBuilder.cs
- HtmlInputPassword.cs
- TransactedBatchContext.cs
- ServiceHostingEnvironment.cs
- _IPv4Address.cs
- GroupBoxRenderer.cs
- BufferedWebEventProvider.cs
- AlternateViewCollection.cs
- GeometryModel3D.cs
- SqlUdtInfo.cs
- RequestNavigateEventArgs.cs
- DataGridViewColumn.cs
- TextModifierScope.cs
- Crc32.cs
- SocketInformation.cs
- CodeConditionStatement.cs
- SizeConverter.cs
- DataReceivedEventArgs.cs
- EndpointFilterProvider.cs
- ConfigXmlElement.cs
- BitmapEffectGroup.cs
- SystemIPAddressInformation.cs
- HasCopySemanticsAttribute.cs
- printdlgexmarshaler.cs
- FlowLayout.cs
- CreateInstanceBinder.cs
- FastEncoder.cs
- ValidateNames.cs
- IncrementalCompileAnalyzer.cs
- Baml2006ReaderFrame.cs
- ReaderWriterLock.cs
- ValidatingPropertiesEventArgs.cs
- CodeAttributeArgument.cs
- SuppressMergeCheckAttribute.cs
- LongValidator.cs
- StringCollection.cs
- WebPartUtil.cs
- Enumerable.cs
- InstancePersistenceContext.cs
- NumericExpr.cs
- ScriptIgnoreAttribute.cs
- CookielessData.cs
- RuntimeHelpers.cs
- SqlXml.cs
- RelatedPropertyManager.cs
- ClientApiGenerator.cs
- DesignerVerbToolStripMenuItem.cs
- ElementAtQueryOperator.cs
- ipaddressinformationcollection.cs
- DoubleLinkListEnumerator.cs
- ComplexTypeEmitter.cs
- ResourceReferenceExpression.cs
- VerificationAttribute.cs