Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Util / ProviderUtil.cs / 2 / 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)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UserControl.cs
- WebControlAdapter.cs
- RangeBaseAutomationPeer.cs
- Throw.cs
- SmiConnection.cs
- SchemaImporterExtension.cs
- ListBoxAutomationPeer.cs
- TagNameToTypeMapper.cs
- SafeFindHandle.cs
- GraphicsContext.cs
- AccessDataSourceDesigner.cs
- EventLogPermissionEntry.cs
- MetadataArtifactLoader.cs
- Win32.cs
- CommandBinding.cs
- OleDbStruct.cs
- filewebrequest.cs
- FormsAuthentication.cs
- WsatServiceAddress.cs
- SqlEnums.cs
- PageCodeDomTreeGenerator.cs
- DataGridCaption.cs
- GACIdentityPermission.cs
- CaseExpr.cs
- UIElement.cs
- TypeUnloadedException.cs
- SHA256CryptoServiceProvider.cs
- SiteOfOriginPart.cs
- LinkLabel.cs
- SendMailErrorEventArgs.cs
- MatrixTransform.cs
- ConnectionManagementElementCollection.cs
- PenThreadPool.cs
- BitmapEffectGroup.cs
- WindowsListViewGroupSubsetLink.cs
- WindowsRebar.cs
- login.cs
- EventWaitHandleSecurity.cs
- UserPreferenceChangingEventArgs.cs
- TrackingServices.cs
- DataGridHelper.cs
- DataBinding.cs
- CodePageUtils.cs
- BamlLocalizer.cs
- RegistryKey.cs
- IOThreadTimer.cs
- XmlTextWriter.cs
- ConfigUtil.cs
- LineProperties.cs
- TriggerActionCollection.cs
- TriggerBase.cs
- AsyncPostBackErrorEventArgs.cs
- RoamingStoreFileUtility.cs
- SessionIDManager.cs
- PersonalizationProvider.cs
- DataServiceQuery.cs
- ChineseLunisolarCalendar.cs
- AncillaryOps.cs
- storepermissionattribute.cs
- DataGridCellEditEndingEventArgs.cs
- RegexTree.cs
- SmtpFailedRecipientsException.cs
- PropertyGridCommands.cs
- ExpanderAutomationPeer.cs
- NetworkInformationPermission.cs
- VerificationAttribute.cs
- NameSpaceExtractor.cs
- WebBrowserBase.cs
- DispatcherOperation.cs
- WsdlBuildProvider.cs
- AttachInfo.cs
- SecureUICommand.cs
- ReadWriteSpinLock.cs
- ClipboardData.cs
- SmtpReplyReader.cs
- Button.cs
- OpenFileDialog.cs
- SafeWaitHandle.cs
- TableSectionStyle.cs
- Privilege.cs
- EdmPropertyAttribute.cs
- ListBindableAttribute.cs
- CollectionCodeDomSerializer.cs
- UrlPath.cs
- CompilerErrorCollection.cs
- ImplicitInputBrush.cs
- BaseDataListDesigner.cs
- Expressions.cs
- HitTestWithGeometryDrawingContextWalker.cs
- DataGridViewColumnCollectionDialog.cs
- RemoteWebConfigurationHost.cs
- FontCacheLogic.cs
- ASCIIEncoding.cs
- DataPagerField.cs
- TraceEventCache.cs
- MenuStrip.cs
- StringSorter.cs
- RowToParametersTransformer.cs
- ControlCommandSet.cs
- ACE.cs