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
- FieldToken.cs
- SQLGuidStorage.cs
- RoleBoolean.cs
- ButtonBase.cs
- oledbmetadatacollectionnames.cs
- SystemInformation.cs
- RoutedEventConverter.cs
- ListChangedEventArgs.cs
- Duration.cs
- UnsafeNativeMethods.cs
- XmlEncoding.cs
- DecoratedNameAttribute.cs
- TimeSpanSecondsConverter.cs
- MultidimensionalArrayItemReference.cs
- NullReferenceException.cs
- StringResourceManager.cs
- MouseGestureConverter.cs
- MessageSecurityOverMsmq.cs
- XmlWrappingReader.cs
- Visual3D.cs
- ZipIOExtraFieldZip64Element.cs
- SqlInternalConnectionTds.cs
- AncillaryOps.cs
- ActiveXContainer.cs
- Pens.cs
- AnnotationComponentChooser.cs
- SecurityStandardsManager.cs
- FixedDSBuilder.cs
- Crc32Helper.cs
- DataGridViewCellEventArgs.cs
- HttpConfigurationContext.cs
- SmtpNtlmAuthenticationModule.cs
- CryptoStream.cs
- SpecialTypeDataContract.cs
- SharedPerformanceCounter.cs
- SinglePageViewer.cs
- ReadOnlyDataSourceView.cs
- DataGridViewTextBoxEditingControl.cs
- ProfilePropertyNameValidator.cs
- DbConnectionPoolGroupProviderInfo.cs
- Convert.cs
- BindingCollection.cs
- CacheMode.cs
- Activity.cs
- DefaultValueConverter.cs
- RefreshPropertiesAttribute.cs
- HtmlWindow.cs
- BridgeDataReader.cs
- ToolStripControlHost.cs
- DecoderNLS.cs
- GetPageNumberCompletedEventArgs.cs
- ReferentialConstraint.cs
- PropertyTabChangedEvent.cs
- GenericRootAutomationPeer.cs
- TableDetailsRow.cs
- DropTarget.cs
- ConnectionStringsExpressionBuilder.cs
- VariableQuery.cs
- ProfileEventArgs.cs
- MetadataUtil.cs
- ToolboxBitmapAttribute.cs
- SamlAuthorizationDecisionStatement.cs
- EventsTab.cs
- Run.cs
- CodeArrayIndexerExpression.cs
- InstanceHandle.cs
- WebPartDisplayModeCollection.cs
- MiniCustomAttributeInfo.cs
- ComEventsMethod.cs
- QueryReaderSettings.cs
- MessageSecurityProtocolFactory.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- Pkcs7Recipient.cs
- Pens.cs
- DataFieldCollectionEditor.cs
- SafeNativeMethods.cs
- DataControlFieldsEditor.cs
- CounterCreationDataConverter.cs
- DoubleLinkList.cs
- FrameworkPropertyMetadata.cs
- WindowsRichEdit.cs
- TemplateControlBuildProvider.cs
- CodeTryCatchFinallyStatement.cs
- CompoundFileIOPermission.cs
- StructuredProperty.cs
- DbConvert.cs
- ResourceBinder.cs
- SecurityKeyType.cs
- XpsLiterals.cs
- VisualTreeUtils.cs
- ToolStripDropDownClosingEventArgs.cs
- SqlCrossApplyToCrossJoin.cs
- Style.cs
- Task.cs
- DataSvcMapFile.cs
- TextTreeUndoUnit.cs
- UserPreferenceChangingEventArgs.cs
- WebPartDisplayModeEventArgs.cs
- Effect.cs
- FormsAuthenticationTicket.cs