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
- XmlJsonReader.cs
- SmtpReplyReaderFactory.cs
- BinaryUtilClasses.cs
- MsmqIntegrationBindingElement.cs
- PeerNearMe.cs
- ETagAttribute.cs
- RuntimeCompatibilityAttribute.cs
- BufferedWebEventProvider.cs
- DbConnectionInternal.cs
- HyperLinkField.cs
- TraceInternal.cs
- BasicHttpSecurityElement.cs
- ZipPackage.cs
- IndexerReference.cs
- ErrorTableItemStyle.cs
- VirtualizedCellInfoCollection.cs
- ScaleTransform3D.cs
- TypeLibConverter.cs
- Task.cs
- _Semaphore.cs
- RuleInfoComparer.cs
- WorkflowRuntimeSection.cs
- GenericWebPart.cs
- InvokeMethodActivityDesigner.cs
- ActiveXHost.cs
- WebHttpEndpoint.cs
- ValidatedControlConverter.cs
- XPathPatternParser.cs
- IntSecurity.cs
- ZipIOExtraField.cs
- StructuredProperty.cs
- WebPartsPersonalizationAuthorization.cs
- XmlSchemaComplexContentExtension.cs
- Mappings.cs
- safemediahandle.cs
- RoutedEventValueSerializer.cs
- FileLevelControlBuilderAttribute.cs
- WebResourceUtil.cs
- Duration.cs
- MarginCollapsingState.cs
- InfoCardHelper.cs
- PagerSettings.cs
- VirtualizingPanel.cs
- WebControl.cs
- CursorConverter.cs
- bidPrivateBase.cs
- OpenTypeMethods.cs
- ScriptMethodAttribute.cs
- XmlCollation.cs
- validationstate.cs
- MemberInfoSerializationHolder.cs
- mactripleDES.cs
- DataMisalignedException.cs
- RuleSetDialog.cs
- ServiceEndpointCollection.cs
- HtmlMeta.cs
- Visual3D.cs
- sqlinternaltransaction.cs
- WhitespaceSignificantCollectionAttribute.cs
- XmlSchemaSimpleTypeList.cs
- PeerNameRecordCollection.cs
- ConfigXmlComment.cs
- SendReply.cs
- DataSourceSelectArguments.cs
- Context.cs
- Zone.cs
- ReadOnlyAttribute.cs
- HtmlDocument.cs
- ServiceX509SecurityTokenProvider.cs
- BitmapDecoder.cs
- CaseStatementSlot.cs
- OdbcConnectionPoolProviderInfo.cs
- NavigationWindow.cs
- LicenseException.cs
- TypeForwardedToAttribute.cs
- HtmlInputFile.cs
- HostingEnvironmentSection.cs
- ErrorLog.cs
- SafeLocalMemHandle.cs
- StringDictionaryCodeDomSerializer.cs
- GroupItem.cs
- XmlNamespaceMapping.cs
- TextEditorContextMenu.cs
- ResizeGrip.cs
- CommandBindingCollection.cs
- PositiveTimeSpanValidatorAttribute.cs
- X509Certificate2Collection.cs
- DBConcurrencyException.cs
- UserControlParser.cs
- ExpanderAutomationPeer.cs
- UnionExpr.cs
- DataControlField.cs
- SiteMapDataSourceView.cs
- BinHexEncoder.cs
- SupportsEventValidationAttribute.cs
- Win32Exception.cs
- GridViewDesigner.cs
- ThicknessConverter.cs
- DispatcherObject.cs
- ObjectConverter.cs