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
- SpellerInterop.cs
- FieldInfo.cs
- CollectionChangedEventManager.cs
- XmlSchemaFacet.cs
- CopyAttributesAction.cs
- SrgsSubset.cs
- Comparer.cs
- followingquery.cs
- EntityFunctions.cs
- ExpressionEditor.cs
- CodeTypeMemberCollection.cs
- ProjectionCamera.cs
- GeometryDrawing.cs
- XpsPartBase.cs
- SqlVisitor.cs
- XmlDataImplementation.cs
- ColumnMapCopier.cs
- BulletDecorator.cs
- SpellerHighlightLayer.cs
- HtmlTableRow.cs
- UniqueConstraint.cs
- FormViewDeleteEventArgs.cs
- BoundPropertyEntry.cs
- TimerExtension.cs
- ColorPalette.cs
- EdmSchemaAttribute.cs
- ReflectionUtil.cs
- OptimizerPatterns.cs
- JsonByteArrayDataContract.cs
- DaylightTime.cs
- LayoutEditorPart.cs
- PageParserFilter.cs
- DiscoveryClient.cs
- TypeLibConverter.cs
- InterleavedZipPartStream.cs
- SeekStoryboard.cs
- PeerCredentialElement.cs
- DataGrid.cs
- COM2IPerPropertyBrowsingHandler.cs
- FtpWebRequest.cs
- SqlReferenceCollection.cs
- Query.cs
- messageonlyhwndwrapper.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- typedescriptorpermission.cs
- PKCS1MaskGenerationMethod.cs
- FilterEventArgs.cs
- StringOutput.cs
- MdImport.cs
- FixedPage.cs
- LayoutUtils.cs
- MatrixKeyFrameCollection.cs
- ContextBase.cs
- ContentPropertyAttribute.cs
- ResourceManager.cs
- XmlSchemaDocumentation.cs
- contentDescriptor.cs
- StringDictionaryWithComparer.cs
- Roles.cs
- ExpressionBuilderCollection.cs
- FileLevelControlBuilderAttribute.cs
- DBSchemaTable.cs
- XmlSchemaResource.cs
- CardSpaceShim.cs
- ServiceManagerHandle.cs
- SelectionManager.cs
- OdbcUtils.cs
- MetadataArtifactLoaderFile.cs
- HostProtectionPermission.cs
- PolyBezierSegment.cs
- RSACryptoServiceProvider.cs
- PriorityBindingExpression.cs
- DataErrorValidationRule.cs
- InputReport.cs
- GradientStopCollection.cs
- SoapAttributeAttribute.cs
- SoapSchemaExporter.cs
- InProcStateClientManager.cs
- ObjectNavigationPropertyMapping.cs
- InfoCardKeyedHashAlgorithm.cs
- FolderBrowserDialogDesigner.cs
- WebControlsSection.cs
- AuthStoreRoleProvider.cs
- ParserContext.cs
- Misc.cs
- TransactionManager.cs
- Assert.cs
- QilReference.cs
- AffineTransform3D.cs
- FtpCachePolicyElement.cs
- GC.cs
- ThreadStaticAttribute.cs
- ProjectedSlot.cs
- PreservationFileReader.cs
- DocumentReference.cs
- HttpRawResponse.cs
- PnrpPermission.cs
- WebDisplayNameAttribute.cs
- TypeDefinition.cs
- UIntPtr.cs