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
- DateTimeSerializationSection.cs
- NumberAction.cs
- BufferedConnection.cs
- RequestResponse.cs
- ColorTransform.cs
- XmlBufferReader.cs
- MemberPath.cs
- IPGlobalProperties.cs
- XmlNamespaceMapping.cs
- Brushes.cs
- __Filters.cs
- FieldNameLookup.cs
- UserUseLicenseDictionaryLoader.cs
- NavigationService.cs
- OLEDB_Util.cs
- CancellationHandler.cs
- TypedTableGenerator.cs
- WindowsListViewItemCheckBox.cs
- ContentType.cs
- SplitterEvent.cs
- Error.cs
- ISFTagAndGuidCache.cs
- XmlDataLoader.cs
- EventlogProvider.cs
- HttpServerUtilityWrapper.cs
- ConfigurationValidatorAttribute.cs
- ResourcePermissionBaseEntry.cs
- BaseCodePageEncoding.cs
- BrowserCapabilitiesCodeGenerator.cs
- Latin1Encoding.cs
- SafeCryptoHandles.cs
- ExpressionTextBoxAutomationPeer.cs
- DetailsViewPageEventArgs.cs
- RegexWorker.cs
- QueueException.cs
- X509AsymmetricSecurityKey.cs
- EdmRelationshipRoleAttribute.cs
- ContainerParagraph.cs
- HostingPreferredMapPath.cs
- BeginSelectCardRequest.cs
- EventLogInternal.cs
- CodeDirectiveCollection.cs
- TextCharacters.cs
- Button.cs
- BCryptSafeHandles.cs
- ChangeBlockUndoRecord.cs
- ForwardPositionQuery.cs
- XmlMtomReader.cs
- WCFServiceClientProxyGenerator.cs
- XamlBuildTaskServices.cs
- PropertyRecord.cs
- AnnotationResource.cs
- ImageInfo.cs
- Win32Native.cs
- WarningException.cs
- ReadingWritingEntityEventArgs.cs
- ConstrainedDataObject.cs
- ScopelessEnumAttribute.cs
- DocumentGridPage.cs
- StreamInfo.cs
- RowToParametersTransformer.cs
- PreservationFileWriter.cs
- EntityDataSource.cs
- ConstrainedDataObject.cs
- SlotInfo.cs
- PathFigureCollection.cs
- FunctionDefinition.cs
- DbgUtil.cs
- IQueryable.cs
- Line.cs
- DefinitionUpdate.cs
- ScrollChrome.cs
- SelectionGlyph.cs
- ToolZone.cs
- FunctionMappingTranslator.cs
- ArraySubsetEnumerator.cs
- SystemInformation.cs
- _DisconnectOverlappedAsyncResult.cs
- ImageAutomationPeer.cs
- RowBinding.cs
- XslAstAnalyzer.cs
- ApplicationDirectory.cs
- WebBrowserDocumentCompletedEventHandler.cs
- SqlVisitor.cs
- BitmapEffectDrawingContent.cs
- SafeNativeMethods.cs
- ToolZoneDesigner.cs
- ObjectStateFormatter.cs
- Ray3DHitTestResult.cs
- ButtonBaseAdapter.cs
- EventToken.cs
- DBSqlParserTableCollection.cs
- DecoderExceptionFallback.cs
- ListItem.cs
- SpotLight.cs
- InkPresenterAutomationPeer.cs
- EventLogPermissionEntry.cs
- NumberAction.cs
- CompilationLock.cs
- ContextMenuAutomationPeer.cs