Code:
/ DotNET / DotNET / 8.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
- DataAccessor.cs
- DockingAttribute.cs
- _NetworkingPerfCounters.cs
- processwaithandle.cs
- SoapFault.cs
- Icon.cs
- baseaxisquery.cs
- ServiceHttpHandlerFactory.cs
- DetailsViewPagerRow.cs
- ArrayTypeMismatchException.cs
- InstancePersistenceCommandException.cs
- ListControlConvertEventArgs.cs
- TableCellCollection.cs
- BatchServiceHost.cs
- InputReportEventArgs.cs
- AutomationEvent.cs
- RowBinding.cs
- _NestedSingleAsyncResult.cs
- ColorInterpolationModeValidation.cs
- RouteValueExpressionBuilder.cs
- GZipDecoder.cs
- CallContext.cs
- SaveLedgerEntryRequest.cs
- CompositeCollection.cs
- ScrollBarRenderer.cs
- WebException.cs
- Sentence.cs
- CurrentChangedEventManager.cs
- QEncodedStream.cs
- ConstrainedDataObject.cs
- BinHexEncoder.cs
- SqlInternalConnectionSmi.cs
- SelectionRangeConverter.cs
- FixedSOMPageConstructor.cs
- CompareValidator.cs
- CompilationUnit.cs
- DefaultAssemblyResolver.cs
- XmlSchemaType.cs
- ConfigurationConverterBase.cs
- Normalization.cs
- PathFigureCollection.cs
- SoundPlayer.cs
- QuaternionRotation3D.cs
- HtmlFormAdapter.cs
- Point3DKeyFrameCollection.cs
- ParsedAttributeCollection.cs
- WebBrowserContainer.cs
- MenuAutoFormat.cs
- TableCellCollection.cs
- IPPacketInformation.cs
- ZipIORawDataFileBlock.cs
- TreePrinter.cs
- CalendarDay.cs
- ColorPalette.cs
- ObjectHandle.cs
- GC.cs
- SmtpTransport.cs
- SerializableAttribute.cs
- PerfService.cs
- ConfigurationValue.cs
- FormViewDeleteEventArgs.cs
- DummyDataSource.cs
- KeyValuePairs.cs
- TemplateBindingExtensionConverter.cs
- RowUpdatingEventArgs.cs
- TypeExtensions.cs
- Vertex.cs
- FontNameConverter.cs
- ContainerControl.cs
- DataControlButton.cs
- QueryResult.cs
- SchemaImporterExtension.cs
- ConnectorRouter.cs
- DataService.cs
- StateWorkerRequest.cs
- NavigationWindowAutomationPeer.cs
- TcpWorkerProcess.cs
- InputReport.cs
- Baml2006KeyRecord.cs
- WindowsTokenRoleProvider.cs
- MultiPropertyDescriptorGridEntry.cs
- NonSerializedAttribute.cs
- ScrollData.cs
- InstanceDescriptor.cs
- SamlNameIdentifierClaimResource.cs
- ConfigXmlText.cs
- WebPartConnectionsEventArgs.cs
- XmlNavigatorStack.cs
- ProgressBarRenderer.cs
- CodeArrayIndexerExpression.cs
- EnterpriseServicesHelper.cs
- WSFederationHttpBinding.cs
- SizeConverter.cs
- StringUtil.cs
- OledbConnectionStringbuilder.cs
- PageCatalogPart.cs
- NavigationWindow.cs
- NativeWindow.cs
- SiteOfOriginContainer.cs
- Matrix3D.cs