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
- nulltextcontainer.cs
- Rotation3DAnimation.cs
- OrderedDictionary.cs
- AutomationProperties.cs
- Columns.cs
- MailDefinition.cs
- BamlLocalizabilityResolver.cs
- Int32AnimationBase.cs
- __Filters.cs
- VirtualizingStackPanel.cs
- Error.cs
- DataSourceCache.cs
- CombinedGeometry.cs
- DatatypeImplementation.cs
- VerificationException.cs
- X509UI.cs
- XmlSchemaSimpleTypeUnion.cs
- StorageFunctionMapping.cs
- ContextMenuStripActionList.cs
- MatrixTransform.cs
- DispatchChannelSink.cs
- ConnectionManagementElement.cs
- ExpressionBindings.cs
- DefaultObjectSerializer.cs
- SqlBinder.cs
- MediaElementAutomationPeer.cs
- XhtmlBasicLiteralTextAdapter.cs
- MergeFailedEvent.cs
- ToolStripRendererSwitcher.cs
- InputScopeAttribute.cs
- ImageMapEventArgs.cs
- ToolStripDropDownItem.cs
- HttpGetProtocolReflector.cs
- CodeNamespaceImport.cs
- CheckBoxFlatAdapter.cs
- DescendantBaseQuery.cs
- StringReader.cs
- XmlAnyAttributeAttribute.cs
- SQlBooleanStorage.cs
- RemoveStoryboard.cs
- List.cs
- ObjectTypeMapping.cs
- CssTextWriter.cs
- SlotInfo.cs
- CookielessData.cs
- ModelPropertyDescriptor.cs
- SpinLock.cs
- XmlSerializerNamespaces.cs
- MappingMetadataHelper.cs
- DbQueryCommandTree.cs
- _NestedMultipleAsyncResult.cs
- AssemblyName.cs
- DataMemberConverter.cs
- InvokeHandlers.cs
- CharEntityEncoderFallback.cs
- ImpersonateTokenRef.cs
- BaseInfoTable.cs
- SelectionEditingBehavior.cs
- ConfigXmlText.cs
- HiddenField.cs
- CanonicalFontFamilyReference.cs
- CursorEditor.cs
- XpsResourceDictionary.cs
- VBCodeProvider.cs
- CompleteWizardStep.cs
- EntityDataSourceDesigner.cs
- RoleManagerSection.cs
- Exceptions.cs
- TypeSource.cs
- ConcurrentBag.cs
- EntityDataSourceDesignerHelper.cs
- FixedNode.cs
- SqlResolver.cs
- ProcessHostConfigUtils.cs
- ProgressBarAutomationPeer.cs
- AsyncOperation.cs
- BamlRecordHelper.cs
- TemplateField.cs
- SplayTreeNode.cs
- HitTestParameters3D.cs
- CheckableControlBaseAdapter.cs
- HttpListener.cs
- PassportIdentity.cs
- BufferCache.cs
- TreeViewHitTestInfo.cs
- ListDictionaryInternal.cs
- HwndHost.cs
- ProfileEventArgs.cs
- MetadataProperty.cs
- CacheDependency.cs
- CreatingCookieEventArgs.cs
- Identity.cs
- DocumentPaginator.cs
- ReceiveSecurityHeader.cs
- HtmlImage.cs
- KeyInfo.cs
- ServiceMemoryGates.cs
- SchemaHelper.cs
- ConnectionPool.cs
- UriTemplateTrieNode.cs