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
- ExpressionStringBuilder.cs
- CheckBoxField.cs
- templategroup.cs
- smtpconnection.cs
- WebPartConnectionsConfigureVerb.cs
- StringConverter.cs
- MemberPathMap.cs
- MatrixTransform.cs
- PasswordRecovery.cs
- DockAndAnchorLayout.cs
- CannotUnloadAppDomainException.cs
- XmlSchemaRedefine.cs
- TaiwanCalendar.cs
- Profiler.cs
- StubHelpers.cs
- ComponentResourceKeyConverter.cs
- XmlUnspecifiedAttribute.cs
- AdapterUtil.cs
- Parameter.cs
- ComponentRenameEvent.cs
- DoubleCollectionConverter.cs
- FixedPageAutomationPeer.cs
- TransformerInfo.cs
- KeyTime.cs
- ReadOnlyPropertyMetadata.cs
- Column.cs
- MenuItemCollectionEditor.cs
- PackWebRequestFactory.cs
- EnumerableCollectionView.cs
- AccessorTable.cs
- LambdaCompiler.Lambda.cs
- UrlMappingsModule.cs
- AuthenticationException.cs
- ScriptControl.cs
- DataSourceCacheDurationConverter.cs
- BinarySecretSecurityToken.cs
- OpacityConverter.cs
- smtpconnection.cs
- RangeValidator.cs
- ValidationSummary.cs
- ContainsSearchOperator.cs
- SqlInternalConnection.cs
- Page.cs
- TextServicesContext.cs
- VirtualizingStackPanel.cs
- XsdCachingReader.cs
- CategoryAttribute.cs
- ProtectedConfigurationSection.cs
- XslTransform.cs
- ClaimTypeElement.cs
- RuntimeResourceSet.cs
- Expression.cs
- NativeMethods.cs
- OrderByBuilder.cs
- ScriptResourceInfo.cs
- cookiecontainer.cs
- GetUserPreferenceRequest.cs
- Formatter.cs
- SelectionItemPatternIdentifiers.cs
- TextBox.cs
- AncestorChangedEventArgs.cs
- PersonalizationStateQuery.cs
- BigInt.cs
- recordstate.cs
- Timeline.cs
- JulianCalendar.cs
- WindowsListViewItemCheckBox.cs
- FlowDocumentReaderAutomationPeer.cs
- WebPartEditorCancelVerb.cs
- ModelItemDictionaryImpl.cs
- HtmlLink.cs
- DataMisalignedException.cs
- RowsCopiedEventArgs.cs
- NavigationProperty.cs
- EnumMember.cs
- CommandID.cs
- WebServiceHandlerFactory.cs
- SqlMetaData.cs
- QilXmlWriter.cs
- MissingManifestResourceException.cs
- RulePatternOps.cs
- SQLConvert.cs
- WorkerProcess.cs
- TextRangeProviderWrapper.cs
- DataGridViewImageColumn.cs
- XamlClipboardData.cs
- SchemaConstraints.cs
- StylusTip.cs
- ParseElement.cs
- BinarySecretSecurityToken.cs
- ChannelDispatcherBase.cs
- BitArray.cs
- BitmapEffectDrawingContent.cs
- ConnectionStringSettingsCollection.cs
- CodeFieldReferenceExpression.cs
- SimpleExpression.cs
- NativeMethods.cs
- MetadataItemEmitter.cs
- MultiPageTextView.cs
- Identifier.cs