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
- DesignBindingEditor.cs
- CallbackHandler.cs
- PropertyManager.cs
- MenuBase.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- UserMapPath.cs
- MatrixConverter.cs
- AccessibleObject.cs
- Component.cs
- Geometry3D.cs
- XmlSchemaProviderAttribute.cs
- ReservationCollection.cs
- Vector3dCollection.cs
- LoggedException.cs
- SpecialTypeDataContract.cs
- Brush.cs
- RewritingPass.cs
- MsdtcClusterUtils.cs
- AnnotationStore.cs
- RMEnrollmentPage1.cs
- StylusTouchDevice.cs
- SubMenuStyleCollectionEditor.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- ArgumentOutOfRangeException.cs
- TextEndOfLine.cs
- ObjectMaterializedEventArgs.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- TextTrailingWordEllipsis.cs
- ImageMapEventArgs.cs
- CdpEqualityComparer.cs
- GradientPanel.cs
- RowVisual.cs
- ThousandthOfEmRealPoints.cs
- HGlobalSafeHandle.cs
- FixedSOMPageConstructor.cs
- ConnectionString.cs
- peersecurityelement.cs
- ProfileGroupSettingsCollection.cs
- SamlSubjectStatement.cs
- _ChunkParse.cs
- ExceptionTranslationTable.cs
- PartialArray.cs
- CodeSnippetExpression.cs
- TypeInitializationException.cs
- NameTable.cs
- Font.cs
- DispatcherExceptionFilterEventArgs.cs
- FlowLayoutPanel.cs
- GridViewRowEventArgs.cs
- WebServiceClientProxyGenerator.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- AnnotationResourceChangedEventArgs.cs
- UserControlFileEditor.cs
- ExpressionTable.cs
- SQLMoney.cs
- MenuScrollingVisibilityConverter.cs
- ExpressionReplacer.cs
- OracleInternalConnection.cs
- XmlStringTable.cs
- SupportsEventValidationAttribute.cs
- TextClipboardData.cs
- DataObjectAttribute.cs
- XmlDocumentSerializer.cs
- HttpConfigurationSystem.cs
- WindowsToolbarAsMenu.cs
- ToolStripRenderer.cs
- StreamWriter.cs
- CopyOnWriteList.cs
- EncryptedType.cs
- IndexedSelectQueryOperator.cs
- MenuEventArgs.cs
- ZipIORawDataFileBlock.cs
- DocumentViewerAutomationPeer.cs
- TextTreeInsertElementUndoUnit.cs
- Crc32.cs
- SiteMapHierarchicalDataSourceView.cs
- CaseInsensitiveHashCodeProvider.cs
- sqlcontext.cs
- DragDrop.cs
- TdsEnums.cs
- CookielessHelper.cs
- InvalidFilterCriteriaException.cs
- MobileControlPersister.cs
- CodeAttributeArgumentCollection.cs
- PieceDirectory.cs
- GradientStop.cs
- EventDescriptor.cs
- WebPartCloseVerb.cs
- DataRecord.cs
- MenuItemBindingCollection.cs
- ImplicitInputBrush.cs
- IUnknownConstantAttribute.cs
- FastEncoderWindow.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- CodeGen.cs
- ArglessEventHandlerProxy.cs
- NTAccount.cs
- Method.cs
- XmlArrayItemAttribute.cs
- UserCancellationException.cs