Code:
/ FX-1434 / FX-1434 / 1.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
- QilDataSource.cs
- BookmarkResumptionRecord.cs
- InstanceNameConverter.cs
- _SafeNetHandles.cs
- StreamInfo.cs
- StylusPoint.cs
- BuildProviderCollection.cs
- WindowsButton.cs
- ToggleButton.cs
- XXXInfos.cs
- ShowExpandedMultiValueConverter.cs
- CompilerWrapper.cs
- ContractValidationHelper.cs
- FontDialog.cs
- HostProtectionException.cs
- CodeBlockBuilder.cs
- PrintEvent.cs
- PrintDocument.cs
- RenderContext.cs
- objectquery_tresulttype.cs
- ClientScriptManager.cs
- EntityDataSourceDataSelection.cs
- TaskForm.cs
- __Filters.cs
- ExpandSegment.cs
- TextLineBreak.cs
- ShaperBuffers.cs
- WebContext.cs
- ObjectDataSourceMethodEditor.cs
- RequestCacheEntry.cs
- HttpCacheVaryByContentEncodings.cs
- DocumentReference.cs
- DoubleStorage.cs
- VerificationAttribute.cs
- OdbcException.cs
- PolicyStatement.cs
- CustomTypeDescriptor.cs
- FontInfo.cs
- DesignerTransaction.cs
- TextBox.cs
- FormViewRow.cs
- StructuredType.cs
- SiteMap.cs
- PnrpPermission.cs
- FormConverter.cs
- BufferedStream.cs
- EnumMember.cs
- documentsequencetextpointer.cs
- EventMappingSettings.cs
- counter.cs
- ScrollProviderWrapper.cs
- Panel.cs
- MeshGeometry3D.cs
- PersistChildrenAttribute.cs
- TreeNodeStyleCollection.cs
- Function.cs
- CompiledRegexRunnerFactory.cs
- ApplicationFileCodeDomTreeGenerator.cs
- BinaryConverter.cs
- latinshape.cs
- ListItemConverter.cs
- TextRangeEditTables.cs
- NamespaceCollection.cs
- ImageListStreamer.cs
- Rectangle.cs
- SortKey.cs
- ParameterModifier.cs
- RegexNode.cs
- DropShadowBitmapEffect.cs
- Debug.cs
- ConfigurationElement.cs
- AnimationStorage.cs
- ModelUIElement3D.cs
- InvalidOperationException.cs
- ClientRoleProvider.cs
- _NtlmClient.cs
- ChtmlFormAdapter.cs
- SourceElementsCollection.cs
- RefreshEventArgs.cs
- ShapeTypeface.cs
- XamlSerializerUtil.cs
- IteratorFilter.cs
- ConfigurationSchemaErrors.cs
- TypeDescriptorContext.cs
- MaskedTextProvider.cs
- UrlPropertyAttribute.cs
- FontStyle.cs
- EntityCommand.cs
- SharedUtils.cs
- PropertyPushdownHelper.cs
- TagMapCollection.cs
- SettingsSavedEventArgs.cs
- LayoutEngine.cs
- PersonalizationState.cs
- AsyncDataRequest.cs
- __ComObject.cs
- NumericUpDownAccelerationCollection.cs
- GCHandleCookieTable.cs
- ResourceReader.cs
- TypeHelper.cs