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
- BindToObject.cs
- RegexStringValidatorAttribute.cs
- OperatorExpressions.cs
- MouseActionConverter.cs
- manifestimages.cs
- Control.cs
- SpellerError.cs
- NativeWrapper.cs
- Run.cs
- StringResourceManager.cs
- EntityDataSourceContainerNameConverter.cs
- AnimationException.cs
- PageWrapper.cs
- ResolvedKeyFrameEntry.cs
- Buffer.cs
- _NTAuthentication.cs
- LocalBuilder.cs
- ControlBuilder.cs
- SessionStateSection.cs
- CodeMemberMethod.cs
- Focus.cs
- ColumnHeaderCollectionEditor.cs
- Image.cs
- RequestCachePolicy.cs
- SystemIPGlobalStatistics.cs
- SqlParameterizer.cs
- CodeParameterDeclarationExpression.cs
- FlagsAttribute.cs
- SequentialActivityDesigner.cs
- CompareInfo.cs
- HttpHandlersSection.cs
- DashStyles.cs
- DuplexChannelBinder.cs
- GridLengthConverter.cs
- SqlBuilder.cs
- RowBinding.cs
- ChannelTracker.cs
- DrawItemEvent.cs
- AuthenticationSection.cs
- ManifestSignedXml.cs
- TreeNodeSelectionProcessor.cs
- MailMessage.cs
- XmlHierarchicalDataSourceView.cs
- ScriptResourceDefinition.cs
- ConfigurationManager.cs
- WebBrowserSiteBase.cs
- BigInt.cs
- IsolatedStorage.cs
- GraphicsPathIterator.cs
- SoapIncludeAttribute.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- MeshGeometry3D.cs
- ValidationRuleCollection.cs
- ObfuscateAssemblyAttribute.cs
- InheritanceAttribute.cs
- MouseCaptureWithinProperty.cs
- DataGridAutomationPeer.cs
- AutomationPropertyInfo.cs
- CroppedBitmap.cs
- MULTI_QI.cs
- COM2ColorConverter.cs
- mediapermission.cs
- EtwTrackingBehaviorElement.cs
- Currency.cs
- UserNameSecurityToken.cs
- CryptoApi.cs
- StorageEntityContainerMapping.cs
- NetNamedPipeBinding.cs
- XmlProcessingInstruction.cs
- DrawingCollection.cs
- VSDExceptions.cs
- HiddenField.cs
- FaultDescriptionCollection.cs
- RectAnimationUsingKeyFrames.cs
- XmlSchemaSimpleTypeList.cs
- PriorityBinding.cs
- shaperfactory.cs
- ConfigUtil.cs
- ObjectSecurity.cs
- RepeatInfo.cs
- EntityDataSourceWrapper.cs
- ScriptingRoleServiceSection.cs
- TagMapCollection.cs
- CodeSnippetCompileUnit.cs
- WindowsEditBoxRange.cs
- HttpCookie.cs
- ParameterBinding.cs
- HtmlAnchor.cs
- Ipv6Element.cs
- DocumentViewerAutomationPeer.cs
- StrokeCollection.cs
- ConnectionInterfaceCollection.cs
- StdValidatorsAndConverters.cs
- XamlFilter.cs
- Regex.cs
- Int16Storage.cs
- sqlcontext.cs
- BlockUIContainer.cs
- InputScope.cs
- ScrollChrome.cs